Пример #1
0
 def testAYTFGBFixedLine(self):
     formatter = AsYouTypeFormatter("GB")
     self.assertEquals("0", formatter.input_digit("0"))
     self.assertEquals("02", formatter.input_digit("2"))
     self.assertEquals("020", formatter.input_digit("0"))
     self.assertEquals("020 7", formatter.input_digit("7", remember_position=True))
     self.assertEquals(5, formatter.get_remembered_position())
     self.assertEquals("020 70", formatter.input_digit("0"))
     self.assertEquals("020 703", formatter.input_digit("3"))
     self.assertEquals(5, formatter.get_remembered_position())
     self.assertEquals("020 7031", formatter.input_digit("1"))
     self.assertEquals("020 7031 3", formatter.input_digit("3"))
     self.assertEquals("020 7031 30", formatter.input_digit("0"))
     self.assertEquals("020 7031 300", formatter.input_digit("0"))
     self.assertEquals("020 7031 3000", formatter.input_digit("0"))
Пример #2
0
 def testAYTFGBFixedLine(self):
     formatter = AsYouTypeFormatter("GB")
     self.assertEquals("0", formatter.input_digit('0'))
     self.assertEquals("02", formatter.input_digit('2'))
     self.assertEquals("020", formatter.input_digit('0'))
     self.assertEquals("020 7",
                       formatter.input_digit('7', remember_position=True))
     self.assertEquals(5, formatter.get_remembered_position())
     self.assertEquals("020 70", formatter.input_digit('0'))
     self.assertEquals("020 703", formatter.input_digit('3'))
     self.assertEquals(5, formatter.get_remembered_position())
     self.assertEquals("020 7031", formatter.input_digit('1'))
     self.assertEquals("020 7031 3", formatter.input_digit('3'))
     self.assertEquals("020 7031 30", formatter.input_digit('0'))
     self.assertEquals("020 7031 300", formatter.input_digit('0'))
     self.assertEquals("020 7031 3000", formatter.input_digit('0'))
Пример #3
0
    def testAYTFAndRememberPositionUS(self):
        formatter = AsYouTypeFormatter("US")
        self.assertEquals("1", formatter.input_digit("1", remember_position=True))
        self.assertEquals(1, formatter.get_remembered_position())
        self.assertEquals("16", formatter.input_digit("6"))
        self.assertEquals("1 65", formatter.input_digit("5"))
        self.assertEquals(1, formatter.get_remembered_position())
        self.assertEquals("1 650", formatter.input_digit("0", remember_position=True))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 2", formatter.input_digit("2"))
        self.assertEquals("1 650 25", formatter.input_digit("5"))
        # Note the remembered position for digit "0" changes from 4 to 5, because a space is now
        # inserted in the front.
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 253", formatter.input_digit("3"))
        self.assertEquals("1 650 253 2", formatter.input_digit("2"))
        self.assertEquals("1 650 253 22", formatter.input_digit("2"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 253 222", formatter.input_digit("2", remember_position=True))
        self.assertEquals(13, formatter.get_remembered_position())
        self.assertEquals("1 650 253 2222", formatter.input_digit("2"))
        self.assertEquals(13, formatter.get_remembered_position())
        self.assertEquals("165025322222", formatter.input_digit("2"))
        self.assertEquals(10, formatter.get_remembered_position())
        self.assertEquals("1650253222222", formatter.input_digit("2"))
        self.assertEquals(10, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("1", formatter.input_digit("1"))
        self.assertEquals("16", formatter.input_digit("6", remember_position=True))
        self.assertEquals(2, formatter.get_remembered_position())
        self.assertEquals("1 65", formatter.input_digit("5"))
        self.assertEquals("1 650", formatter.input_digit("0"))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 2", formatter.input_digit("2"))
        self.assertEquals("1 650 25", formatter.input_digit("5"))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 253", formatter.input_digit("3"))
        self.assertEquals("1 650 253 2", formatter.input_digit("2"))
        self.assertEquals("1 650 253 22", formatter.input_digit("2"))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 253 222", formatter.input_digit("2"))
        self.assertEquals("1 650 253 2222", formatter.input_digit("2"))
        self.assertEquals("165025322222", formatter.input_digit("2"))
        self.assertEquals(2, formatter.get_remembered_position())
        self.assertEquals("1650253222222", formatter.input_digit("2"))
        self.assertEquals(2, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("6", formatter.input_digit("6"))
        self.assertEquals("65", formatter.input_digit("5"))
        self.assertEquals("650", formatter.input_digit("0"))
        self.assertEquals("650 2", formatter.input_digit("2"))
        self.assertEquals("650 25", formatter.input_digit("5"))
        self.assertEquals("650 253", formatter.input_digit("3"))
        self.assertEquals("650 2532", formatter.input_digit("2", remember_position=True))
        self.assertEquals(8, formatter.get_remembered_position())
        self.assertEquals("650 253 22", formatter.input_digit("2"))
        self.assertEquals(9, formatter.get_remembered_position())
        self.assertEquals("650 253 222", formatter.input_digit("2"))
        # No more formatting when semicolon is entered.
        self.assertEquals("650253222;", formatter.input_digit(";"))
        self.assertEquals(7, formatter.get_remembered_position())
        self.assertEquals("650253222;2", formatter.input_digit("2"))

        formatter.clear()
        self.assertEquals("6", formatter.input_digit("6"))
        self.assertEquals("65", formatter.input_digit("5"))
        self.assertEquals("650", formatter.input_digit("0"))
        # No more formatting when users choose to do their own formatting.
        self.assertEquals("650-", formatter.input_digit("-"))
        self.assertEquals("650-2", formatter.input_digit("2", remember_position=True))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-25", formatter.input_digit("5"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-253", formatter.input_digit("3"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-253-", formatter.input_digit("-"))
        self.assertEquals("650-253-2", formatter.input_digit("2"))
        self.assertEquals("650-253-22", formatter.input_digit("2"))
        self.assertEquals("650-253-222", formatter.input_digit("2"))
        self.assertEquals("650-253-2222", formatter.input_digit("2"))

        formatter.clear()
        self.assertEquals("0", formatter.input_digit("0"))
        self.assertEquals("01", formatter.input_digit("1"))
        self.assertEquals("011 ", formatter.input_digit("1"))
        self.assertEquals("011 4", formatter.input_digit("4", remember_position=True))
        self.assertEquals("011 48 ", formatter.input_digit("8"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 8", formatter.input_digit("8"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 88", formatter.input_digit("8"))
        self.assertEquals("011 48 88 1", formatter.input_digit("1"))
        self.assertEquals("011 48 88 12", formatter.input_digit("2"))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 88 123", formatter.input_digit("3"))
        self.assertEquals("011 48 88 123 1", formatter.input_digit("1"))
        self.assertEquals("011 48 88 123 12", formatter.input_digit("2"))
        self.assertEquals("011 48 88 123 12 1", formatter.input_digit("1"))
        self.assertEquals("011 48 88 123 12 12", formatter.input_digit("2"))

        formatter.clear()
        self.assertEquals("+", formatter.input_digit("+"))
        self.assertEquals("+1", formatter.input_digit("1"))
        self.assertEquals("+1 6", formatter.input_digit("6", remember_position=True))
        self.assertEquals("+1 65", formatter.input_digit("5"))
        self.assertEquals("+1 650", formatter.input_digit("0"))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 2", formatter.input_digit("2"))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 25", formatter.input_digit("5"))
        self.assertEquals("+1 650 253", formatter.input_digit("3", remember_position=True))
        self.assertEquals("+1 650 253 2", formatter.input_digit("2"))
        self.assertEquals("+1 650 253 22", formatter.input_digit("2"))
        self.assertEquals("+1 650 253 222", formatter.input_digit("2"))
        self.assertEquals(10, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("+", formatter.input_digit("+"))
        self.assertEquals("+1", formatter.input_digit("1"))
        self.assertEquals("+1 6", formatter.input_digit("6", remember_position=True))
        self.assertEquals("+1 65", formatter.input_digit("5"))
        self.assertEquals("+1 650", formatter.input_digit("0"))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 2", formatter.input_digit("2"))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 25", formatter.input_digit("5"))
        self.assertEquals("+1 650 253", formatter.input_digit("3"))
        self.assertEquals("+1 650 253 2", formatter.input_digit("2"))
        self.assertEquals("+1 650 253 22", formatter.input_digit("2"))
        self.assertEquals("+1 650 253 222", formatter.input_digit("2"))
        self.assertEquals("+1650253222;", formatter.input_digit(";"))
        self.assertEquals(3, formatter.get_remembered_position())
Пример #4
0
    def testAYTFAndRememberPositionUS(self):
        formatter = AsYouTypeFormatter("US")
        self.assertEquals("1",
                          formatter.input_digit('1', remember_position=True))
        self.assertEquals(1, formatter.get_remembered_position())
        self.assertEquals("16", formatter.input_digit('6'))
        self.assertEquals("1 65", formatter.input_digit('5'))
        self.assertEquals(1, formatter.get_remembered_position())
        self.assertEquals("1 650",
                          formatter.input_digit('0', remember_position=True))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 2", formatter.input_digit('2'))
        self.assertEquals("1 650 25", formatter.input_digit('5'))
        # Note the remembered position for digit "0" changes from 4 to 5, because a space is now
        # inserted in the front.
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 253", formatter.input_digit('3'))
        self.assertEquals("1 650 253 2", formatter.input_digit('2'))
        self.assertEquals("1 650 253 22", formatter.input_digit('2'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("1 650 253 222",
                          formatter.input_digit('2', remember_position=True))
        self.assertEquals(13, formatter.get_remembered_position())
        self.assertEquals("1 650 253 2222", formatter.input_digit('2'))
        self.assertEquals(13, formatter.get_remembered_position())
        self.assertEquals("165025322222", formatter.input_digit('2'))
        self.assertEquals(10, formatter.get_remembered_position())
        self.assertEquals("1650253222222", formatter.input_digit('2'))
        self.assertEquals(10, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("1", formatter.input_digit('1'))
        self.assertEquals("16",
                          formatter.input_digit('6', remember_position=True))
        self.assertEquals(2, formatter.get_remembered_position())
        self.assertEquals("1 65", formatter.input_digit('5'))
        self.assertEquals("1 650", formatter.input_digit('0'))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 2", formatter.input_digit('2'))
        self.assertEquals("1 650 25", formatter.input_digit('5'))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 253", formatter.input_digit('3'))
        self.assertEquals("1 650 253 2", formatter.input_digit('2'))
        self.assertEquals("1 650 253 22", formatter.input_digit('2'))
        self.assertEquals(3, formatter.get_remembered_position())
        self.assertEquals("1 650 253 222", formatter.input_digit('2'))
        self.assertEquals("1 650 253 2222", formatter.input_digit('2'))
        self.assertEquals("165025322222", formatter.input_digit('2'))
        self.assertEquals(2, formatter.get_remembered_position())
        self.assertEquals("1650253222222", formatter.input_digit('2'))
        self.assertEquals(2, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("6", formatter.input_digit('6'))
        self.assertEquals("65", formatter.input_digit('5'))
        self.assertEquals("650", formatter.input_digit('0'))
        self.assertEquals("650 2", formatter.input_digit('2'))
        self.assertEquals("650 25", formatter.input_digit('5'))
        self.assertEquals("650 253", formatter.input_digit('3'))
        self.assertEquals("650 2532",
                          formatter.input_digit('2', remember_position=True))
        self.assertEquals(8, formatter.get_remembered_position())
        self.assertEquals("650 253 22", formatter.input_digit('2'))
        self.assertEquals(9, formatter.get_remembered_position())
        self.assertEquals("650 253 222", formatter.input_digit('2'))
        # No more formatting when semicolon is entered.
        self.assertEquals("650253222;", formatter.input_digit(';'))
        self.assertEquals(7, formatter.get_remembered_position())
        self.assertEquals("650253222;2", formatter.input_digit('2'))

        formatter.clear()
        self.assertEquals("6", formatter.input_digit('6'))
        self.assertEquals("65", formatter.input_digit('5'))
        self.assertEquals("650", formatter.input_digit('0'))
        # No more formatting when users choose to do their own formatting.
        self.assertEquals("650-", formatter.input_digit('-'))
        self.assertEquals("650-2",
                          formatter.input_digit('2', remember_position=True))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-25", formatter.input_digit('5'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-253", formatter.input_digit('3'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("650-253-", formatter.input_digit('-'))
        self.assertEquals("650-253-2", formatter.input_digit('2'))
        self.assertEquals("650-253-22", formatter.input_digit('2'))
        self.assertEquals("650-253-222", formatter.input_digit('2'))
        self.assertEquals("650-253-2222", formatter.input_digit('2'))

        formatter.clear()
        self.assertEquals("0", formatter.input_digit('0'))
        self.assertEquals("01", formatter.input_digit('1'))
        self.assertEquals("011 ", formatter.input_digit('1'))
        self.assertEquals("011 4",
                          formatter.input_digit('4', remember_position=True))
        self.assertEquals("011 48 ", formatter.input_digit('8'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 8", formatter.input_digit('8'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 88", formatter.input_digit('8'))
        self.assertEquals("011 48 88 1", formatter.input_digit('1'))
        self.assertEquals("011 48 88 12", formatter.input_digit('2'))
        self.assertEquals(5, formatter.get_remembered_position())
        self.assertEquals("011 48 88 123", formatter.input_digit('3'))
        self.assertEquals("011 48 88 123 1", formatter.input_digit('1'))
        self.assertEquals("011 48 88 123 12", formatter.input_digit('2'))
        self.assertEquals("011 48 88 123 12 1", formatter.input_digit('1'))
        self.assertEquals("011 48 88 123 12 12", formatter.input_digit('2'))

        formatter.clear()
        self.assertEquals("+", formatter.input_digit('+'))
        self.assertEquals("+1", formatter.input_digit('1'))
        self.assertEquals("+1 6",
                          formatter.input_digit('6', remember_position=True))
        self.assertEquals("+1 65", formatter.input_digit('5'))
        self.assertEquals("+1 650", formatter.input_digit('0'))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 2", formatter.input_digit('2'))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 25", formatter.input_digit('5'))
        self.assertEquals("+1 650 253",
                          formatter.input_digit('3', remember_position=True))
        self.assertEquals("+1 650 253 2", formatter.input_digit('2'))
        self.assertEquals("+1 650 253 22", formatter.input_digit('2'))
        self.assertEquals("+1 650 253 222", formatter.input_digit('2'))
        self.assertEquals(10, formatter.get_remembered_position())

        formatter.clear()
        self.assertEquals("+", formatter.input_digit('+'))
        self.assertEquals("+1", formatter.input_digit('1'))
        self.assertEquals("+1 6",
                          formatter.input_digit('6', remember_position=True))
        self.assertEquals("+1 65", formatter.input_digit('5'))
        self.assertEquals("+1 650", formatter.input_digit('0'))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 2", formatter.input_digit('2'))
        self.assertEquals(4, formatter.get_remembered_position())
        self.assertEquals("+1 650 25", formatter.input_digit('5'))
        self.assertEquals("+1 650 253", formatter.input_digit('3'))
        self.assertEquals("+1 650 253 2", formatter.input_digit('2'))
        self.assertEquals("+1 650 253 22", formatter.input_digit('2'))
        self.assertEquals("+1 650 253 222", formatter.input_digit('2'))
        self.assertEquals("+1650253222;", formatter.input_digit(';'))
        self.assertEquals(3, formatter.get_remembered_position())