예제 #1
0
        public void Correctly_generates_random_code()
        {
            MockRepository            mocks = new MockRepository();
            IRandomCharacterGenerator characterGenerator = mocks.CreateMock <IRandomCharacterGenerator>();

            using (mocks.Record())
            {
                Expect.Call(characterGenerator.GetRandomCharacter()).Return('k');
                Expect.Call(characterGenerator.GetRandomCharacter()).Return('w');
                Expect.Call(characterGenerator.GetRandomCharacter()).Return('h');
            }

            using (mocks.Playback())
            {
                ICodeGenerator codeGenerator = new CodeGenerator(characterGenerator);
                string         code          = codeGenerator.GetRandomCode(3);

                Assert.That(code, Is.EqualTo("kwh"));
            }

            mocks.VerifyAll();
        }
예제 #2
0
        public string GetRandomCode(int numberOfCharacters)
        {
            var characters = new List <char>();

            for (var i = 0; i < numberOfCharacters; i++)
            {
                var randomCharacter = _characterGenerator.GetRandomCharacter();
                characters.Add(randomCharacter);
            }

            var randomCode = new string(characters.ToArray());

            return(randomCode);
        }