コード例 #1
0
ファイル: CollectionParserTests.cs プロジェクト: ppalms/katas
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
        }
コード例 #5
0
 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))));
 }
コード例 #6
0
        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));
                }
            }
        }
コード例 #7
0
ファイル: CollectionParserTests.cs プロジェクト: ppalms/katas
        public void UniqueInOrder_EmptyCollection_ReturnsEmpty()
        {
            var actual = CollectionParser.UniqueInOrder(Enumerable.Empty <char>());

            CollectionAssert.AreEqual(new char[0], actual.ToArray(), string.Join(',', actual));
        }