public void TestOneTimeStart()
        {
            // Arrange
            var input = new[]
            { false, false, false, true, false, false, false, false, true, false, true, false, false, true, false };

            // Act
            var index = GoogleProblem14.FindOneTimeIndex(input);

            // Assert
            Assert.AreEqual(0, index);
        }
        public void Test1()
        {
            // Arrange
            var input = new[]
            { true, false, false, true, false, false, false, false, true, false, true, false, false, false, false };
            var problem = new GoogleProblem14(input);

            // Act
            problem.FindIndex();
            problem.FindIndex();
            var index = problem.FindIndex();

            // Assert
            Assert.AreEqual(6, index);
        }
        public void Test2()
        {
            // Arrange
            var input = new[]
            { true, false, false, true, false, false, false, false, true, false, true, false, false, false, false };
            var problem = new GoogleProblem14(input);

            // Act
            for (var i = 0; i < 10; i++)
            {
                problem.FindIndex();
            }

            // Assert
            Assert.True(problem.FindIndex() > -1);
            Assert.True(problem.FindIndex() == -1);
        }