public void TestGetEnumerator()
        {
            TagPrimitiveCollection collection = new TagPrimitiveCollection();

            const int firstTagID = 1236;
            const int secondTagID = 76409;

            TagPrimitive firstTag = new TagPrimitive(firstTagID, "tag_1236");
            TagPrimitive secondTag = new TagPrimitive(secondTagID, "tag_654709");

            collection.AddTag(firstTag);
            collection.AddTag(secondTag);

            Assert.AreEqual(2, collection.Count);

            foreach (TagPrimitive tagPrimitive in collection)
            {
                switch (tagPrimitive.ID)
                {
                    case firstTagID:
                    case secondTagID:
                        continue;
                    default:
                        Assert.Fail(string.Format("TagID = [{0}] shouldn't be in collection", tagPrimitive.ID));
                        break;
                }
            }
        }
        public void TestClear()
        {
            TagPrimitiveCollection collection = new TagPrimitiveCollection();

            TagPrimitive firstTag = new TagPrimitive(1236, "tag_1236");
            TagPrimitive secondTag = new TagPrimitive(654709, "tag_654709");

            collection.AddTag(firstTag);
            collection.AddTag(secondTag);

            Assert.AreEqual(2, collection.Count);

            collection.Clear();

            Assert.AreEqual(0, collection.Count);
        }
예제 #3
0
        internal TagPrimitiveCollection ParseExportTagsMessage(string message)
        {
            TagPrimitiveCollection toReturn = new TagPrimitiveCollection();

            XDocument messageDocument = XDocument.Parse(message);
            XElement tagsElement = GetTagsElement(messageDocument.Root);
            IEnumerable<XElement> tagELements = GetTagElements(tagsElement);

            foreach (XElement tagElement in tagELements)
            {
                toReturn.AddTag(ParseTagElement(tagElement));
            }

            return toReturn;
        }
        public void TestMaterializeAdd()
        {
            TagPrimitiveCollection collection = new TagPrimitiveCollection();

            int firstTagID = 1236;
            int secondTagID = 76409;

            Expression<Func<long, TagPrimitive>> materializeFirstTag = tagID => GetTag(firstTagID);
            Expression<Func<long, TagPrimitive>> materializeSecondTag = tagID => GetTag(secondTagID);

            TagPrimitive firstTag = new TagPrimitive(firstTagID, materializeFirstTag);
            TagPrimitive secondTag = new TagPrimitive(secondTagID, materializeSecondTag);

            collection.AddTag(firstTag);
            collection.AddTag(secondTag);

            Assert.AreEqual(2, collection.Count);

            TagPrimitive firstRetrievedTag = collection.GetTag(firstTagID);

            Assert.AreEqual(firstTag.ID, firstRetrievedTag.ID);
            StringAssert.IsMatch(firstTag.Text, firstRetrievedTag.Text);

            TagPrimitive secondRetrievedTag = collection.GetTag(secondTagID);

            Assert.AreEqual(secondTag.ID, secondRetrievedTag.ID);
            StringAssert.IsMatch(secondTag.Text, secondRetrievedTag.Text);
        }