public void TestAYTFGBFixedLine() { AsYouTypeFormatter formatter = phoneUtil.GetAsYouTypeFormatter("GB"); Assert.Equal("0", formatter.InputDigit('0')); Assert.Equal("02", formatter.InputDigit('2')); Assert.Equal("020", formatter.InputDigit('0')); Assert.Equal("020 7", formatter.InputDigitAndRememberPosition('7')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("020 70", formatter.InputDigit('0')); Assert.Equal("020 703", formatter.InputDigit('3')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("020 7031", formatter.InputDigit('1')); Assert.Equal("020 7031 3", formatter.InputDigit('3')); Assert.Equal("020 7031 30", formatter.InputDigit('0')); Assert.Equal("020 7031 300", formatter.InputDigit('0')); Assert.Equal("020 7031 3000", formatter.InputDigit('0')); }
public void TestAYTFAndRememberPositionUS() { AsYouTypeFormatter formatter = phoneUtil.GetAsYouTypeFormatter("US"); Assert.Equal("1", formatter.InputDigitAndRememberPosition('1')); Assert.Equal(1, formatter.GetRememberedPosition()); Assert.Equal("16", formatter.InputDigit('6')); Assert.Equal("1 65", formatter.InputDigit('5')); Assert.Equal(1, formatter.GetRememberedPosition()); Assert.Equal("1 650", formatter.InputDigitAndRememberPosition('0')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("1 650 2", formatter.InputDigit('2')); Assert.Equal("1 650 25", formatter.InputDigit('5')); // Note the remembered position for digit "0" changes from 4 to 5, because a space is now // inserted in the front. Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("1 650 253", formatter.InputDigit('3')); Assert.Equal("1 650 253 2", formatter.InputDigit('2')); Assert.Equal("1 650 253 22", formatter.InputDigit('2')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("1 650 253 222", formatter.InputDigitAndRememberPosition('2')); Assert.Equal(13, formatter.GetRememberedPosition()); Assert.Equal("1 650 253 2222", formatter.InputDigit('2')); Assert.Equal(13, formatter.GetRememberedPosition()); Assert.Equal("165025322222", formatter.InputDigit('2')); Assert.Equal(10, formatter.GetRememberedPosition()); Assert.Equal("1650253222222", formatter.InputDigit('2')); Assert.Equal(10, formatter.GetRememberedPosition()); formatter.Clear(); Assert.Equal("1", formatter.InputDigit('1')); Assert.Equal("16", formatter.InputDigitAndRememberPosition('6')); Assert.Equal(2, formatter.GetRememberedPosition()); Assert.Equal("1 65", formatter.InputDigit('5')); Assert.Equal("1 650", formatter.InputDigit('0')); Assert.Equal(3, formatter.GetRememberedPosition()); Assert.Equal("1 650 2", formatter.InputDigit('2')); Assert.Equal("1 650 25", formatter.InputDigit('5')); Assert.Equal(3, formatter.GetRememberedPosition()); Assert.Equal("1 650 253", formatter.InputDigit('3')); Assert.Equal("1 650 253 2", formatter.InputDigit('2')); Assert.Equal("1 650 253 22", formatter.InputDigit('2')); Assert.Equal(3, formatter.GetRememberedPosition()); Assert.Equal("1 650 253 222", formatter.InputDigit('2')); Assert.Equal("1 650 253 2222", formatter.InputDigit('2')); Assert.Equal("165025322222", formatter.InputDigit('2')); Assert.Equal(2, formatter.GetRememberedPosition()); Assert.Equal("1650253222222", formatter.InputDigit('2')); Assert.Equal(2, formatter.GetRememberedPosition()); formatter.Clear(); Assert.Equal("6", formatter.InputDigit('6')); Assert.Equal("65", formatter.InputDigit('5')); Assert.Equal("650", formatter.InputDigit('0')); Assert.Equal("650 2", formatter.InputDigit('2')); Assert.Equal("650 25", formatter.InputDigit('5')); Assert.Equal("650 253", formatter.InputDigit('3')); Assert.Equal("650 2532", formatter.InputDigitAndRememberPosition('2')); Assert.Equal(8, formatter.GetRememberedPosition()); Assert.Equal("650 253 22", formatter.InputDigit('2')); Assert.Equal(9, formatter.GetRememberedPosition()); Assert.Equal("650 253 222", formatter.InputDigit('2')); // No more formatting when semicolon is entered. Assert.Equal("650253222;", formatter.InputDigit(';')); Assert.Equal(7, formatter.GetRememberedPosition()); Assert.Equal("650253222;2", formatter.InputDigit('2')); formatter.Clear(); Assert.Equal("6", formatter.InputDigit('6')); Assert.Equal("65", formatter.InputDigit('5')); Assert.Equal("650", formatter.InputDigit('0')); // No more formatting when users choose to do their own formatting. Assert.Equal("650-", formatter.InputDigit('-')); Assert.Equal("650-2", formatter.InputDigitAndRememberPosition('2')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("650-25", formatter.InputDigit('5')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("650-253", formatter.InputDigit('3')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("650-253-", formatter.InputDigit('-')); Assert.Equal("650-253-2", formatter.InputDigit('2')); Assert.Equal("650-253-22", formatter.InputDigit('2')); Assert.Equal("650-253-222", formatter.InputDigit('2')); Assert.Equal("650-253-2222", formatter.InputDigit('2')); formatter.Clear(); Assert.Equal("0", formatter.InputDigit('0')); Assert.Equal("01", formatter.InputDigit('1')); Assert.Equal("011 ", formatter.InputDigit('1')); Assert.Equal("011 4", formatter.InputDigitAndRememberPosition('4')); Assert.Equal("011 48 ", formatter.InputDigit('8')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("011 48 8", formatter.InputDigit('8')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("011 48 88", formatter.InputDigit('8')); Assert.Equal("011 48 88 1", formatter.InputDigit('1')); Assert.Equal("011 48 88 12", formatter.InputDigit('2')); Assert.Equal(5, formatter.GetRememberedPosition()); Assert.Equal("011 48 88 123", formatter.InputDigit('3')); Assert.Equal("011 48 88 123 1", formatter.InputDigit('1')); Assert.Equal("011 48 88 123 12", formatter.InputDigit('2')); Assert.Equal("011 48 88 123 12 1", formatter.InputDigit('1')); Assert.Equal("011 48 88 123 12 12", formatter.InputDigit('2')); formatter.Clear(); Assert.Equal("+", formatter.InputDigit('+')); Assert.Equal("+1", formatter.InputDigit('1')); Assert.Equal("+1 6", formatter.InputDigitAndRememberPosition('6')); Assert.Equal("+1 65", formatter.InputDigit('5')); Assert.Equal("+1 650", formatter.InputDigit('0')); Assert.Equal(4, formatter.GetRememberedPosition()); Assert.Equal("+1 650 2", formatter.InputDigit('2')); Assert.Equal(4, formatter.GetRememberedPosition()); Assert.Equal("+1 650 25", formatter.InputDigit('5')); Assert.Equal("+1 650 253", formatter.InputDigitAndRememberPosition('3')); Assert.Equal("+1 650 253 2", formatter.InputDigit('2')); Assert.Equal("+1 650 253 22", formatter.InputDigit('2')); Assert.Equal("+1 650 253 222", formatter.InputDigit('2')); Assert.Equal(10, formatter.GetRememberedPosition()); formatter.Clear(); Assert.Equal("+", formatter.InputDigit('+')); Assert.Equal("+1", formatter.InputDigit('1')); Assert.Equal("+1 6", formatter.InputDigitAndRememberPosition('6')); Assert.Equal("+1 65", formatter.InputDigit('5')); Assert.Equal("+1 650", formatter.InputDigit('0')); Assert.Equal(4, formatter.GetRememberedPosition()); Assert.Equal("+1 650 2", formatter.InputDigit('2')); Assert.Equal(4, formatter.GetRememberedPosition()); Assert.Equal("+1 650 25", formatter.InputDigit('5')); Assert.Equal("+1 650 253", formatter.InputDigit('3')); Assert.Equal("+1 650 253 2", formatter.InputDigit('2')); Assert.Equal("+1 650 253 22", formatter.InputDigit('2')); Assert.Equal("+1 650 253 222", formatter.InputDigit('2')); Assert.Equal("+1650253222;", formatter.InputDigit(';')); Assert.Equal(3, formatter.GetRememberedPosition()); }