public void ParameterlessConstructorShouldInitializeEmptyCollection() { var pairs = new ArgKeyValuePairs(); pairs.Count.Should().Be(0); pairs.Any().Should().BeFalse(); }
private static TElement CreateElement(ArgKeyValuePairs pairs, PropertyOptionPairs properties) { var element = new TElement(); foreach (var pair in pairs) { if (!properties.TryFindByOption(pair.Key, out var property)) { throw new UnboundTokenException(pair.Key); } var parsedValue = pair.Value.Parse(property.PropertyType); property.SetValue(element, parsedValue); } return(element); }
public void CollectionConstructorShouldInitializeWithGivenCollection(string[] keys, string[] values) { var collection = new List <ArgKeyValuePair>(); for (var i = 0; i < keys.Length; i++) { collection.Add(new ArgKeyValuePair(keys[i], values[i])); } var pairs = new ArgKeyValuePairs(collection); pairs.Count.Should().Be(collection.Count); pairs.Any().Should().BeTrue(); for (var i = 0; i < pairs.Count; i++) { var pair = pairs[i]; pair.Key.Should().Be(keys[i]); pair.Value.Should().Be(values[i]); pair.Should().BeSameAs(collection[i]); } }