示例#1
0
        public void Expand2()
        {
            var value = CharSeq.Expand("a-z");

            Assert.Equal(26, value.Length);
            Assert.Equal("abcdefghijklmnopqrstuvwxyz", value);

            value = CharSeq.Expand("a-z\\-");
            Assert.Equal(27, value.Length);
            Assert.Equal("abcdefghijklmnopqrstuvwxyz-", value);

            value = CharSeq.Expand("a-z\\\\xx");
            Assert.Equal(29, value.Length);
            Assert.Equal("abcdefghijklmnopqrstuvwxyz\\xx", value);

            value = CharSeq.Expand("A-Z");
            Assert.Equal(26, value.Length);
            Assert.Equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ", value);

            value = CharSeq.Expand("0-9");
            Assert.Equal(10, value.Length);
            Assert.Equal("0123456789", value);

            value = CharSeq.Expand("0-9yxcvba-z");
            Assert.Equal(41, value.Length);
            Assert.Equal("0123456789yxcvbabcdefghijklmnopqrstuvwxyz", value);

            value = CharSeq.Expand("0-9a-zA-Z");
            Assert.Equal(10 + 26 + 26, value.Length);
            Assert.Equal("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", value);
        }
示例#2
0
        public void SubSequence()
        {
            var set = new CharSeq(CharSeq.Expand("a-z"));
            var sub = set.SubSequence(3, 10);

            Assert.Equal(7, sub.Length);
            Assert.Equal("defghij", sub.ToString());
        }
示例#3
0
        public void Contains()
        {
            var set = new CharSeq(CharSeq.Expand("a-z"));

            Assert.Contains('t', set);
            Assert.Contains('a', set);
            Assert.Contains('z', set);
            Assert.DoesNotContain('T', set);
            Assert.DoesNotContain('1', set);
            Assert.DoesNotContain('2', set);
        }
示例#4
0
        public void Expand1()
        {
            var value = CharSeq.Expand('a', 'z');

            Assert.Equal(26, value.Length);
            Assert.Equal("abcdefghijklmnopqrstuvwxyz", value);

            value = CharSeq.Expand('A', 'Z');
            Assert.Equal(26, value.Length);
            Assert.Equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ", value);

            value = CharSeq.Expand('0', '9');
            Assert.Equal(10, value.Length);
            Assert.Equal("0123456789", value);
        }
示例#5
0
        public void Iterate()
        {
            var set    = new CharSeq(CharSeq.Expand("a-z"));
            var values = CharSeq.Expand("a-z");

            using (var it = set.GetEnumerator())
            {
                foreach (var t in values)
                {
                    Assert.True(it.MoveNext());

                    Assert.Equal(t, it.Current);
                }
                Assert.False(it.MoveNext());
            }
        }
示例#6
0
 public void Expand4()
 {
     Assert.Throws <ArgumentException>(() => CharSeq.Expand("-az"));
 }
示例#7
0
 public void Expand3()
 {
     Assert.Throws <ArgumentException>(() => CharSeq.Expand("a-z-"));
 }