예제 #1
0
 public void CanSplitTags()
 {
     AssertTags(TaggingUtils.SplitTags(null));
     AssertTags(TaggingUtils.SplitTags(string.Empty));
     AssertTags(TaggingUtils.SplitTags(" \t"));
     AssertTags(TaggingUtils.SplitTags("foo,bar;baz"), "foo", "bar", "baz");
     AssertTags(TaggingUtils.SplitTags(" , foo ,, bar ;; baz ; "), "foo", "bar", "baz");
 }
예제 #2
0
 public void CanAddTag()
 {
     Assert.Null(TaggingUtils.AddTag(null, null));
     Assert.AreEqual("foo", TaggingUtils.AddTag(null, "foo"));
     Assert.AreEqual("foo", TaggingUtils.AddTag(string.Empty, "foo"));
     Assert.AreEqual("foo", TaggingUtils.AddTag("foo", null));
     Assert.AreEqual("foo", TaggingUtils.AddTag("foo", string.Empty));
     Assert.AreEqual("foo,bar,new", TaggingUtils.AddTag("foo,bar", "new"));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTag("foo,bar", "foo"));
 }
예제 #3
0
 public void CanAddTags()
 {
     Assert.Null(TaggingUtils.AddTags(null, null));
     Assert.AreEqual("foo", TaggingUtils.AddTags(null, "foo"));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTags(null, "foo", "bar"));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTags("foo", "foo", "bar"));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTags("foo,bar", "foo", "bar"));
     Assert.AreEqual("foo,bar,new", TaggingUtils.AddTags("foo,bar", "bar", "new"));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTags("foo,bar", null));
     Assert.AreEqual("foo,bar", TaggingUtils.AddTags("foo,bar"));
 }
예제 #4
0
        public void CanHasTag()
        {
            Assert.False(TaggingUtils.HasTag(null, null));
            Assert.False(TaggingUtils.HasTag(null, "foo"));
            Assert.False(TaggingUtils.HasTag("foo,,bar", null));
            Assert.False(TaggingUtils.HasTag("foo,,bar", string.Empty));
            Assert.True(TaggingUtils.HasTag("start,mid,end", "start"));
            Assert.True(TaggingUtils.HasTag("start,mid,end", "mid"));
            Assert.True(TaggingUtils.HasTag("start,mid,end", "end"));
            Assert.False(TaggingUtils.HasTag("start,mid,end", "NoSuchTag"));
            Assert.False(TaggingUtils.HasTag("start,mid,end", "art"));

            // HasTag is separator-agnostic:
            Assert.True(TaggingUtils.HasTag("start; mid, end", "mid"));
            Assert.True(TaggingUtils.HasTag("start  mid  end", "mid"));
            Assert.True(TaggingUtils.HasTag("start, mid; end", "mid"));
        }
예제 #5
0
        public void CanHasTags()
        {
            Assert.False(TaggingUtils.HasTags(null, null));
            Assert.False(TaggingUtils.HasTags(null, ""));
            Assert.False(TaggingUtils.HasTags(null, "foo"));
            Assert.False(TaggingUtils.HasTags(null, "foo", "bar"));

            Assert.False(TaggingUtils.HasTags("foo", null));
            Assert.False(TaggingUtils.HasTags("foo", ""));
            Assert.True(TaggingUtils.HasTags("foo", "foo"));
            Assert.False(TaggingUtils.HasTags("foo", "foo", "bar"));

            Assert.False(TaggingUtils.HasTags("foo,bar", null));
            Assert.False(TaggingUtils.HasTags("foo,bar", ""));
            Assert.True(TaggingUtils.HasTags("foo,bar", "foo"));
            Assert.True(TaggingUtils.HasTags("foo,bar", "foo", "bar"));

            // HasTags is separator-agnostic:
            Assert.True(TaggingUtils.HasTags(" foo ; bar ; baz", "foo", "bar"));
            Assert.True(TaggingUtils.HasTags(" foo   bar   baz", "bar", "baz"));
        }