/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Mvc/Mvc.ViewFeatures/test/AttributeDictionaryTest.cs
456 строк
14 KB
Pranav K
Enable IDE2000 (#39803)
27 янв 2022, 19:02
Не верифицирован
27 янв 2022, 19:02
de3019b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.Mvc.ViewFeatures; public class AttributeDictionaryTest { [Fact] public void AttributeDictionary_AddItems() { // Arrange var attributes = new AttributeDictionary(); // Act attributes.Add("zero", "0"); attributes.Add("one", "1"); attributes.Add("two", "2"); // Assert Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_AddItems_AsKeyValuePairs() { // Arrange var attributes = new AttributeDictionary(); // Act attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Assert Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_Add_DuplicateKey() { // Arrange var attributes = new AttributeDictionary(); attributes.Add("zero", "0"); attributes.Add("one", "1"); attributes.Add("two", "2"); // Act & Assert Assert.Throws<InvalidOperationException>(() => attributes.Add("one", "15")); } [Fact] public void AttributeDictionary_Clear() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act attributes.Clear(); // Assert Assert.Empty(attributes); Assert.Empty(attributes); } [Fact] public void AttributeDictionary_Contains_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Contains(new KeyValuePair<string, string>("zero", "0")); // Assert Assert.True(result); } [Fact] public void AttributeDictionary_Contains_Failure() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Contains(new KeyValuePair<string, string>("zero", "nada")); // Assert Assert.False(result); } [Fact] public void AttributeDictionary_ContainsKey_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.ContainsKey("one"); // Assert Assert.True(result); } [Fact] public void AttributeDictionary_ContainsKey_Failure() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.ContainsKey("one!"); // Assert Assert.False(result); } [Fact] public void AttributeDictionary_CopyTo() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); var array = new KeyValuePair<string, string>[attributes.Count + 1]; // Act attributes.CopyTo(array, 1); // Assert Assert.Collection( array, kvp => Assert.Equal(default(KeyValuePair<string, string>), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_IsReadOnly() { // Arrange var attributes = new AttributeDictionary(); // Act var result = attributes.IsReadOnly; // Assert Assert.False(result); } [Fact] public void AttributeDictionary_Keys() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var keys = attributes.Keys; // Assert Assert.Equal(3, keys.Count); Assert.Collection( keys, key => Assert.Equal("one", key), key => Assert.Equal("two", key), key => Assert.Equal("zero", key)); } [Fact] public void AttributeDictionary_Remove_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Remove("one"); // Assert Assert.True(result); Assert.Equal(2, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_Remove_Failure() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Remove("nada"); // Assert Assert.False(result); Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_Remove_KeyValuePair_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Remove(new KeyValuePair<string, string>("one", "1")); // Assert Assert.True(result); Assert.Equal(2, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_Remove_KeyValuePair_Failure() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var result = attributes.Remove(new KeyValuePair<string, string>("one", "0")); // Assert Assert.False(result); Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_TryGetValue_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); string value; // Act var result = attributes.TryGetValue("two", out value); // Assert Assert.True(result); Assert.Equal("2", value); } [Fact] public void AttributeDictionary_TryGetValue_Failure() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); string value; // Act var result = attributes.TryGetValue("nada", out value); // Assert Assert.False(result); Assert.Null(value); } [Fact] public void AttributeDictionary_Values() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var values = attributes.Values; // Assert Assert.Equal(3, values.Count); Assert.Collection( values, key => Assert.Equal("1", key), key => Assert.Equal("2", key), key => Assert.Equal("0", key)); } [Fact] public void AttributeDictionary_Indexer_Success() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act var value = attributes["two"]; // Assert Assert.Equal("2", value); } [Fact] public void AttributeDictionary_Indexer_Fails() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act & Assert Assert.Throws<KeyNotFoundException>(() => attributes["nada"]); } [Fact] public void AttributeDictionary_Indexer_SetValue() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act attributes["one"] = "1!"; // Assert Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1!"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_Indexer_Insert() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act attributes["exciting!"] = "1!"; // Assert Assert.Equal(4, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("exciting!", "1!"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("one", "1"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } [Fact] public void AttributeDictionary_CaseInsensitive() { // Arrange var attributes = new AttributeDictionary(); attributes.Add(new KeyValuePair<string, string>("zero", "0")); attributes.Add(new KeyValuePair<string, string>("one", "1")); attributes.Add(new KeyValuePair<string, string>("two", "2")); // Act attributes["oNe"] = "1!"; // Assert Assert.Equal(3, attributes.Count); Assert.Collection( attributes, kvp => Assert.Equal(new KeyValuePair<string, string>("oNe", "1!"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("two", "2"), kvp), kvp => Assert.Equal(new KeyValuePair<string, string>("zero", "0"), kvp)); } }