Exemple #1
0
        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'));
        }
Exemple #2
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());
        }