public void CreateFromIEnumerableStringValuePair_CopiesValues() { // Arrange & Act var dict = new AdaptiveCapacityDictionary <string, string>(IEnumerableStringValuePairData, capacity: 3, StringComparer.OrdinalIgnoreCase); // Assert Assert.IsType <KeyValuePair <string, string>[]>(dict._arrayStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("First Name", kvp.Key); Assert.Equal("James", kvp.Value); }, kvp => { Assert.Equal("Last Name", kvp.Key); Assert.Equal("Henrik", kvp.Value); }, kvp => { Assert.Equal("Middle Name", kvp.Key); Assert.Equal("Bob", kvp.Value); }); }
public void Add_KeyValuePair() { // Arrange var dict = new AdaptiveCapacityDictionary <string, object>() { { "age", 30 }, }; // Act ((ICollection <KeyValuePair <string, object?> >)dict).Add(new KeyValuePair <string, object?>("key", "value")); // Assert Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); Assert.IsType <KeyValuePair <string, object?>[]>(dict._arrayStorage); }
public void IndexSet_ListStorage_NoMatch_AddsValue() { // Arrange var dict = new AdaptiveCapacityDictionary <string, object>() { { "age", 30 }, }; // Act dict["key"] = "value"; // Assert Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); Assert.IsType <KeyValuePair <string, object?>[]>(dict._arrayStorage); }
public void Add_DuplicateKey_CaseInsensitive() { // Arrange var dict = new AdaptiveCapacityDictionary <string, object>(StringComparer.OrdinalIgnoreCase) { { "key", "value" }, }; var message = $"An element with the key 'kEy' already exists in the {nameof(AdaptiveCapacityDictionary<string, string>)}"; // Act & Assert ExceptionAssert.ThrowsArgument(() => dict.Add("kEy", "value2"), "key", message); // Assert Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); Assert.IsType <KeyValuePair <string, object?>[]>(dict._arrayStorage); }
public void CreateFromIEnumerableKeyValuePair_CopiesValues() { // Arrange & Act var dict = new AdaptiveCapacityDictionary <string, object?>(IEnumerableKeyValuePairData, capacity: IEnumerableKeyValuePairData.Length, EqualityComparer <string> .Default); // Assert Assert.IsType <KeyValuePair <string, object?>[]>(dict._arrayStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("Address", kvp.Key); var address = Assert.IsType <Address>(kvp.Value); Assert.Equal("Redmond", address.City); Assert.Equal("WA", address.State); }, kvp => { Assert.Equal("Age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("Name", kvp.Key); Assert.Equal("James", kvp.Value); }); }