public void TestDetectors()
        {
            var text = new StringBuilder();
            var e    = new RationalNumber(2);

            var detector1      = new RepetitionDetector(text, e, true);
            var detector2      = new SillyDetector(text, e, true);
            var removeStrategy = new RemoveBorderStrategy();
            var generator      = new RandomNotLastCharGenerator(text, 4);

            SyncronizedRandomWordGenerator.Generate(detector1, detector2, 1000, removeStrategy, generator, null);
        }
        private static Detector GetDetector(Type detectorType, bool detectEqual, RationalNumber e)
        {
            var      text = new StringBuilder();
            Detector detector;

            if (detectorType == typeof(SillyDetector))
            {
                detector = new SillyDetector(text, e, detectEqual);
            }
            else if (detectorType == typeof(RepetitionDetector))
            {
                detector = new RepetitionDetector(text, e, detectEqual);
            }
            else
            {
                throw new InvalidProgramStateException(string.Format("Wrong type of detector: {0}", detectorType.FullName));
            }
            return(detector);
        }