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(); }
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); }