public void Test_Constructor_From_Query_Maps_Tags_Parameter()
        {
            Subject = new SemanticQuery("tags:tag1,tag-2");

            Assert.Collection(Subject.Tags,
                              tag => Assert.Equal("tag1", tag),
                              tag => Assert.Equal("tag-2", tag));
        }
        public void Test_ParseTags_Splits_Tags_By_Comma()
        {
            var result = SemanticQuery.ParseTags("tag1,tag-2,TAG-3,c#");

            Assert.Collection(result,
                              tag => Assert.Equal("tag1", tag),
                              tag => Assert.Equal("tag-2", tag),
                              tag => Assert.Equal("tag-3", tag),
                              tag => Assert.Equal("c#", tag));
        }
        public void Test_ParseKeyPairs_Returns_A_KeyValuePair_For_The_Given_Query(string query, string expectedKey, string expectedValue)
        {
            var pairs = SemanticQuery.ParseKeyPairs(query);

            Assert.Collection(pairs,
                              p =>
            {
                Assert.Equal(expectedKey, p.Key);
                Assert.Equal(expectedValue, p.Value);
            });
        }
        public void Test_FormatTags_Joins_Tags_By_Comma()
        {
            var result = SemanticQuery.FormatTags(new[]
            {
                "tag1",
                "tag-2",
                "TAG-3",
                "c#"
            });

            Assert.Equal("tag1,tag-2,tag-3,c#", result);
        }
        public void Test_Constructor_From_Query_Maps_Sort_Parameter(string given, string expected)
        {
            Subject = new SemanticQuery("sort:" + given);

            Assert.Equal(expected, Subject.Sort);
        }
        public void Test_Default_Constructor_Does_Not_Filter_Tags()
        {
            Subject = new SemanticQuery();

            Assert.Empty(Subject.Tags);
        }
        public void Test_Default_Constructor_Sorts_By_Activity()
        {
            Subject = new SemanticQuery();

            Assert.Equal("activity", Subject.Sort);
        }