示例#1
0
文件: KmpTests.cs 项目: lizzael/Lvc
        public void Execute(string mainString, string substring)
        {
            // Arrange
            var expectedResult = mainString.IndexOf(substring);

            var sut = new Kmp(substring);

            // Act
            var result = sut.Execute(mainString);

            // Assert
            Assert.Equal(expectedResult, result);
        }
示例#2
0
文件: KmpTests.cs 项目: lizzael/Lvc
        public void Execute_GivenNull_Throws_ArgumentNullException()
        {
            // Arrange
            var    substring  = "";
            string mainString = null;

            var sut = new Kmp(substring);

            // Act
            Action act = () => sut.Execute(mainString);

            // Assert
            Assert.Throws <ArgumentNullException>(act);
        }
示例#3
0
文件: KmpTests.cs 项目: lizzael/Lvc
        public void Execute_StressTest()
        {
            // Arrange
            var randomStringGenerator = new RandomStringGenerator();

            var substring = randomStringGenerator.Execute(1000);
            var sut       = new Kmp(substring);

            var max = 10;

            for (int i = 0; i < max; i++)
            {
                var mainString = randomStringGenerator.Execute(999000);
                mainString = $"{mainString.Substring(0, 500000)}{substring}{mainString.Substring(500000)}";

                var expectedResult = mainString.IndexOf(substring);

                // Act
                var result = sut.Execute(mainString);

                // Assert
                Assert.Equal(expectedResult, result);
            }
        }