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"))
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'))
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())
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())