private IT9Keypad CreateT9Keypad() { IT9Button button1 = A.Fake <IT9Button>(); A.CallTo(() => button1.Label).Returns('1'); A.CallTo(() => button1.Symbols).Returns(new[] { 'a', 'b' }); A.CallTo(() => button1.GetPressCount('a')).Returns(1); A.CallTo(() => button1.GetPressCount('b')).Returns(2); IT9Button button2 = A.Fake <IT9Button>(); A.CallTo(() => button2.Label).Returns('2'); A.CallTo(() => button2.Symbols).Returns(new[] { 'c', 'd' }); A.CallTo(() => button2.GetPressCount('c')).Returns(1); A.CallTo(() => button2.GetPressCount('d')).Returns(2); IT9Keypad keypad = A.Fake <IT9Keypad>(); A.CallTo(() => keypad.GetButton('a')).Returns(button1); A.CallTo(() => keypad.GetButton('b')).Returns(button1); A.CallTo(() => keypad.GetButton('c')).Returns(button2); A.CallTo(() => keypad.GetButton('d')).Returns(button2); return(keypad); }
public void Convert_Converts(string text, string expectedT9) { // Arrange IT9Keypad keypad = CreateT9Keypad(); SimpleTextToT9Converter sut = new SimpleTextToT9Converter(keypad); // Act string t9 = sut.Convert(text); // Assert t9.Should().Be(expectedT9); }
public void Convert_IfKeypadGetButtonThrows_Throws() { // Arrange Exception exception = new Exception(); IT9Keypad keypad = A.Fake <IT9Keypad>(); A.CallTo(() => keypad.GetButton(A <char> .Ignored)).Throws(() => exception); SimpleTextToT9Converter sut = new SimpleTextToT9Converter(keypad); // Act Action act = () => sut.Convert("*"); // Assert act.Should().Throw <Exception>().Where(e => ReferenceEquals(e, exception)); }
public SimpleTextToT9Converter(IT9Keypad keypad) => this.keypad = keypad ?? throw new ArgumentNullException(nameof(keypad));