Example #1
0
        public void AddChildTag_adds_it()
        {
            var entityUnderTest = new DreamMainTag("Friend");

            entityUnderTest.AddChildTag(new DreamChildTag("John"));
            entityUnderTest.ChildTags.Should().ContainSingle(x => x.Tag == "John");
        }
Example #2
0
        public void AddChildTag_same_twice_is_not_added()
        {
            var entityUnderTest = new DreamMainTag("Friend");

            entityUnderTest.AddChildTag(new DreamChildTag("John"));
            entityUnderTest.AddChildTag(new DreamChildTag("john"));
            entityUnderTest.ChildTags.Should().ContainSingle(x => x.Tag == "John");
        }
Example #3
0
        public void ToString_one_element_with_children_as_correct_string()
        {
            var dreamMainTag = new DreamMainTag("Beach");

            dreamMainTag.ChildTags.Add(new DreamChildTag("Valencia"));
            dreamMainTag.ChildTags.Add(new DreamChildTag("Gandia"));
            var entityUnderTest = new DreamTagStringBuilder(new List <DreamMainTag>
            {
                dreamMainTag
            });

            entityUnderTest.ToString().Should().Be("Beach (Valencia, Gandia)");
        }
        public void TagsToAdd_with_initial_tags_sets_them()
        {
            var dreamMainTag = new DreamMainTag("Friend");

            dreamMainTag.AddChildTag(new DreamChildTag("Pepe"));
            dreamMainTag.AddChildTag(new DreamChildTag("Kenobi"));
            var entityUnderTest = InitializeViewModelForTest(new List <DreamMainTag>
            {
                dreamMainTag,
                new DreamMainTag("Beach")
            });

            entityUnderTest.TagsToAdd.Should().Be("Friend (Pepe, Kenobi), Beach");
        }
        private static string FormatTag(DreamMainTag tag)
        {
            var sb = new StringBuilder(tag.Tag);

            if (!tag.ChildTags.Any())
            {
                return(sb.ToString());
            }

            sb.Append(" ").Append(DreamTagTokens.OpenChildTags);
            sb.Append(string.Join(Separator, tag.ChildTags.Select(x => x.Tag)));
            sb.Append(DreamTagTokens.CloseChildTags);

            return(sb.ToString());
        }
        public void Reset_with_initial_tags_sets_them_and_removes_any_others()
        {
            var dreamMainTag = new DreamMainTag("Friend");

            dreamMainTag.AddChildTag(new DreamChildTag("Pepe"));
            dreamMainTag.AddChildTag(new DreamChildTag("Kenobi"));
            var entityUnderTest = InitializeViewModelForTest(new List <DreamMainTag>
            {
                dreamMainTag,
                new DreamMainTag("Beach")
            });

            entityUnderTest.TagsToAdd.Should().Be("Friend (Pepe, Kenobi), Beach");
            entityUnderTest.AddTag(GetChildTag("Plagueis", "Friend"));
            entityUnderTest.AddTag(GetMainTag("Car"));
            entityUnderTest.TagsToAdd.Should().Be("Friend (Pepe, Kenobi, Plagueis), Beach, Car");
            entityUnderTest.Reset();
            entityUnderTest.TagsToAdd.Should().Be("Friend (Pepe, Kenobi), Beach");
        }
Example #7
0
        public void ToString_three_elements_with_children_as_correct_string()
        {
            var dreamMainTag1 = new DreamMainTag("Beach");

            dreamMainTag1.ChildTags.Add(new DreamChildTag("Valencia"));
            dreamMainTag1.ChildTags.Add(new DreamChildTag("Gandia"));

            var dreamMainTag2 = new DreamMainTag("Friends");

            dreamMainTag2.ChildTags.Add(new DreamChildTag("John"));

            var entityUnderTest = new DreamTagStringBuilder(new List <DreamMainTag>
            {
                dreamMainTag1,
                new DreamMainTag("Mountain"),
                dreamMainTag2
            });

            entityUnderTest.ToString().Should().Be("Beach (Valencia, Gandia), Mountain, Friends (John)");
        }
Example #8
0
        private void ParseTags()
        {
            foreach (var tag in _mainTags)
            {
                var mainTag = ExtractMainTag(tag);
                if (string.IsNullOrWhiteSpace(mainTag))
                {
                    continue;
                }

                var newTag = new DreamMainTag(mainTag);

                if (HasChildren(tag))
                {
                    foreach (var childTag in ExtractChildTags(tag))
                    {
                        newTag.AddChildTag(new DreamChildTag(childTag));
                    }
                }

                DreamTags.Add(newTag);
            }
        }
Example #9
0
        public void Constructor_null_passed_becomes_empty_string()
        {
            var entityUnderTest = new DreamMainTag(null);

            entityUnderTest.Tag.Should().BeEmpty();
        }