Ejemplo n.º 1
0
        public void SequenceMatcher()
        {
            var seq = new SequenceMatcher();

            var res = seq.MatchPassword("abcd");

            Assert.AreEqual(1, res.Count());
            var m1 = res.First();

            Assert.AreEqual(0, m1.Begin);
            Assert.AreEqual(3, m1.End);
            Assert.AreEqual("abcd", m1.Token);

            res = seq.MatchPassword("asdfabcdhujzyxwhgjj");
            Assert.AreEqual(2, res.Count());

            m1 = res.ElementAt(0);
            Assert.AreEqual(4, m1.Begin);
            Assert.AreEqual(7, m1.End);
            Assert.AreEqual("abcd", m1.Token);

            var m2 = res.ElementAt(1);

            Assert.AreEqual(11, m2.Begin);
            Assert.AreEqual(14, m2.End);
            Assert.AreEqual("zyxw", m2.Token);

            res = seq.MatchPassword("dfsjkhfjksdh");
            Assert.AreEqual(0, res.Count());
        }
Ejemplo n.º 2
0
        public void NoSequence()
        {
            var seq = new SequenceMatcher();

            var res = seq.MatchPassword("dfsjkhfjksdh").ToList();

            res.Should().BeEmpty();
        }
Ejemplo n.º 3
0
        public void SingleSequence()
        {
            var seq = new SequenceMatcher();

            var res = seq.MatchPassword("abcd").ToList();

            res.Count.Should().Be(1);
            res[0].i.Should().Be(0);
            res[0].j.Should().Be(3);
            res[0].Token.Should().Be("abcd");
        }
Ejemplo n.º 4
0
        public void MultipleSequence()
        {
            var seq = new SequenceMatcher();

            var res = seq.MatchPassword("asdfabcdhujzyxwhgjj").ToList();

            res.Count.Should().Be(2);

            res[0].i.Should().Be(4);
            res[0].j.Should().Be(7);
            res[0].Token.Should().Be("abcd");

            res[1].i.Should().Be(11);
            res[1].j.Should().Be(14);
            res[1].Token.Should().Be("zyxw");
        }
Ejemplo n.º 5
0
        public void DoesntMatchVeryEmptyOrOneLengthSequences(string password)
        {
            var res = matcher.MatchPassword(password);

            res.Should().BeEmpty();
        }