public void UniqueInOrder_CollectionContainsNull_RemovesNullFromReturnedValue() { var sequence = "AAAABBBCCDAABBB"; var expected = new[] { 'A', 'B', 'C', 'D', 'A', 'B' }; var actual = CollectionParser.UniqueInOrder(sequence.Cast <char>()).ToArray(); CollectionAssert.AreEqual(expected, actual); }
public bool ImportList <T>(TermStore oStore, IEnumerable <T> terms, string termSetName, int lcid = 1045) { var parser = CollectionParser <T> .Create(); var result = parser.Parse(terms); AddToCache(result, termSetName); return(CreateStructureForTermSet(oStore, termSetName, lcid)); }
private void AssertFail( Func <object, ValueParseResult> itemParseFn, object collectionToParse) { ValueParseResult parseResult = CollectionParser.Parse(collectionToParse, itemParseFn); Assert.That(parseResult.Success, Is.False); Assert.That(parseResult.Value, Is.Null); Assert.That(parseResult.ErrorDetails, Is.Not.Empty); }
private void AssertSuccess( Func <object, ValueParseResult> itemParseFn, object collectionToParse, IEnumerable expectedCollection) { ValueParseResult parseResult = CollectionParser.Parse(collectionToParse, itemParseFn); Assert.That(parseResult.Success, Is.True); Assert.That(parseResult.Value, Is.EquivalentTo(expectedCollection)); }
public static MessageBuildResult Build( string token, IEnumerable <ObjectProperty> superProperties, object rawProperties, object distinctId, MixpanelConfig config) { return(PeopleMessageBuilderBase.CreateMessage( token, superProperties, rawProperties, distinctId, config, "$union", rawValue => CollectionParser.Parse(rawValue, _ => GenericPropertyParser.Parse(_, allowCollections: false)))); }
private void AssertMessageSuccess( MessageBuildResult messageBuildResult, string token, string @event, string distinctId, params KeyValuePair <string, object>[] customProperties) { Assert.That(messageBuildResult.Success, Is.True); Assert.That(messageBuildResult.Error, Is.Null); IDictionary <string, object> message = messageBuildResult.Message; Assert.That(message.Count, Is.EqualTo(2)); Assert.That(message["event"], Is.EqualTo(@event)); var properties = message["properties"] as IDictionary <string, object>; Assert.That(properties, Is.Not.Null); Assert.That(properties.Count, Is.EqualTo(2 + (customProperties != null ? customProperties.Length : 0))); Assert.That(properties["token"], Is.EqualTo(token)); Assert.That(properties["distinct_id"], Is.EqualTo(distinctId)); foreach (KeyValuePair <string, object> kv in customProperties ?? new KeyValuePair <string, object> [0]) { string propertyName = kv.Key; object expectedValue = kv.Value; bool propertyExists = properties.TryGetValue(propertyName, out var actualValue); Assert.That(propertyExists, "Missing property: " + propertyName); if (CollectionParser.IsCollection(actualValue)) { Assert.That(expectedValue, Is.EquivalentTo((IEnumerable)actualValue)); } else { Assert.That(expectedValue, Is.EqualTo(actualValue)); } } }
public void UniqueInOrder_EmptyCollection_ReturnsEmpty() { var actual = CollectionParser.UniqueInOrder(Enumerable.Empty <char>()); CollectionAssert.AreEqual(new char[0], actual.ToArray(), string.Join(',', actual)); }