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()); }
public void NoSequence() { var seq = new SequenceMatcher(); var res = seq.MatchPassword("dfsjkhfjksdh").ToList(); res.Should().BeEmpty(); }
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"); }
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"); }
public void DoesntMatchVeryEmptyOrOneLengthSequences(string password) { var res = matcher.MatchPassword(password); res.Should().BeEmpty(); }