コード例 #1
0
def test_dictionary_update(update_from, start_empty):
    d = StenoDictionary()
    if not start_empty:
        d.update({
            ('SPH*G',): 'not something',
            ('STHEUPBG',): 'something',
            ('EF', 'REU', 'TH*EUPBG'): 'everything',
        })
        assert d[('STHEUPBG',)] == 'something'
        assert d[('EF', 'REU', 'TH*EUPBG')] == 'everything'
        assert d.reverse_lookup('not something') == [('SPH*G',)]
        assert d.longest_key == 3
    d.update(update_from)
    assert d[('S-G',)] == 'something'
    assert d[('SPH-G',)] == 'something'
    assert d[('SPH*G',)] == 'Something'
    assert d[('SPH', 'THEUPBG')] == 'something'
    if not start_empty:
        assert d[('STHEUPBG',)] == 'something'
        assert d[('EF', 'REU', 'TH*EUPBG')] == 'everything'
        assert d.reverse_lookup('not something') == []
        assert sorted(d.reverse_lookup('something')) == sorted([('STHEUPBG',), ('S-G',), ('SPH-G',), ('SPH', 'THEUPBG')])
        assert sorted(d.casereverse_lookup('something')) == sorted(['something', 'Something'])
        assert d.longest_key == 3
    else:
        assert sorted(d.reverse_lookup('something')) == sorted([('S-G',), ('SPH-G',), ('SPH', 'THEUPBG')])
        assert sorted(d.casereverse_lookup('something')) == sorted(['something', 'Something'])
        assert d.longest_key == 2
コード例 #2
0
def test_dictionary_update(update_from, start_empty):
    d = StenoDictionary()
    if not start_empty:
        d.update({
            ('SPH*G', ): 'not something',
            ('STHEUPBG', ): 'something',
            ('EF', 'REU', 'TH*EUPBG'): 'everything',
        })
        assert d[('STHEUPBG', )] == 'something'
        assert d[('EF', 'REU', 'TH*EUPBG')] == 'everything'
        assert d.reverse_lookup('not something') == [('SPH*G', )]
        assert d.longest_key == 3
    d.update(update_from)
    assert d[('S-G', )] == 'something'
    assert d[('SPH-G', )] == 'something'
    assert d[('SPH*G', )] == 'Something'
    assert d[('SPH', 'THEUPBG')] == 'something'
    if not start_empty:
        assert d[('STHEUPBG', )] == 'something'
        assert d[('EF', 'REU', 'TH*EUPBG')] == 'everything'
        assert d.reverse_lookup('not something') == []
        assert d.reverse_lookup('something') == [('STHEUPBG', ), ('S-G', ),
                                                 ('SPH-G', ),
                                                 ('SPH', 'THEUPBG')]
        assert set(
            d.casereverse_lookup('something')) == {'something', 'Something'}
        assert d.longest_key == 3
    else:
        assert d.reverse_lookup('something') == [('S-G', ), ('SPH-G', ),
                                                 ('SPH', 'THEUPBG')]
        assert set(
            d.casereverse_lookup('something')) == {'something', 'Something'}
        assert d.longest_key == 2
コード例 #3
0
def test_dictionary():

    d = StenoDictionary()
    assert len(d) == 0
    assert not d

    d['S'] = 'a'
    assert 'S' in d
    assert len(d) == 1
    assert d
    d['S/S/S/S'] = 'b'
    assert len(d) == 2
    d['S/S'] = 'c'
    assert d['S/S'] == 'c'
    assert len(d) == 3
    del d['S/S/S/S']
    assert len(d) == 2
    del d['S']
    assert 'S' not in d
    assert len(d) == 1
    assert d.reverse_lookup('c') == ['S/S']
    assert d.casereverse_lookup('c') == ['c']
    d.clear()
    assert len(d) == 0
    assert not d
    assert d.reverse_lookup('c') == []
    assert d.casereverse_lookup('c') == []
    d['S/S'] = 'c'
コード例 #4
0
def test_dictionary():
    notifications = []

    def listener(longest_key):
        notifications.append(longest_key)

    d = StenoDictionary()
    assert d.longest_key == 0
    assert len(d) == 0
    assert not d

    d.add_longest_key_listener(listener)
    d[('S', )] = 'a'
    assert d.longest_key == 1
    assert ('S', ) in d
    assert notifications == [1]
    assert len(d) == 1
    assert d
    d[('S', 'S', 'S', 'S')] = 'b'
    assert d.longest_key == 4
    assert notifications == [1, 4]
    assert len(d) == 2
    d[('S', 'S')] = 'c'
    assert d.longest_key == 4
    assert d[('S', 'S')] == 'c'
    assert notifications == [1, 4]
    assert len(d) == 3
    del d[('S', 'S', 'S', 'S')]
    assert d.longest_key == 2
    assert notifications == [1, 4, 2]
    assert len(d) == 2
    del d[('S', )]
    assert d.longest_key == 2
    assert ('S', ) not in d
    assert notifications == [1, 4, 2]
    assert len(d) == 1
    assert d.reverse_lookup('c') == [('S', 'S')]
    assert d.casereverse_lookup('c') == ['c']
    d.clear()
    assert d.longest_key == 0
    assert notifications == [1, 4, 2, 0]
    assert len(d) == 0
    assert not d
    assert d.reverse_lookup('c') == []
    assert d.casereverse_lookup('c') == []

    d.remove_longest_key_listener(listener)
    d[('S', 'S')] = 'c'
    assert d.longest_key == 2
    assert notifications == [1, 4, 2, 0]
コード例 #5
0
    def test_dictionary(self):
        notifications = []

        def listener(longest_key):
            notifications.append(longest_key)

        d = StenoDictionary()
        self.assertEqual(d.longest_key, 0)

        d.add_longest_key_listener(listener)
        d[('S', )] = 'a'
        self.assertEqual(d.longest_key, 1)
        self.assertEqual(notifications, [1])
        d[('S', 'S', 'S', 'S')] = 'b'
        self.assertEqual(d.longest_key, 4)
        self.assertEqual(notifications, [1, 4])
        d[('S', 'S')] = 'c'
        self.assertEqual(d.longest_key, 4)
        self.assertEqual(d[('S', 'S')], 'c')
        self.assertEqual(notifications, [1, 4])
        del d[('S', 'S', 'S', 'S')]
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2])
        del d[('S', )]
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2])
        self.assertEqual(d.reverse_lookup('c'), [('S', 'S')])
        self.assertEqual(d.casereverse_lookup('c'), ['c'])
        d.clear()
        self.assertEqual(d.longest_key, 0)
        self.assertEqual(notifications, [1, 4, 2, 0])
        self.assertEqual(d.reverse_lookup('c'), [])
        self.assertEqual(d.casereverse_lookup('c'), [])

        d.remove_longest_key_listener(listener)
        d[('S', 'S')] = 'c'
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2, 0])
コード例 #6
0
def test_dictionary():
    notifications = []

    def listener(longest_key):
        notifications.append(longest_key)

    d = StenoDictionary()
    assert d.longest_key == 0

    d.add_longest_key_listener(listener)
    d[('S', )] = 'a'
    assert d.longest_key == 1
    assert notifications == [1]
    d[('S', 'S', 'S', 'S')] = 'b'
    assert d.longest_key == 4
    assert notifications == [1, 4]
    d[('S', 'S')] = 'c'
    assert d.longest_key == 4
    assert d[('S', 'S')] == 'c'
    assert notifications == [1, 4]
    del d[('S', 'S', 'S', 'S')]
    assert d.longest_key == 2
    assert notifications == [1, 4, 2]
    del d[('S', )]
    assert d.longest_key == 2
    assert notifications == [1, 4, 2]
    assert d.reverse_lookup('c') == {('S', 'S')}
    assert d.casereverse_lookup('c') == {'c'}
    d.clear()
    assert d.longest_key == 0
    assert notifications == [1, 4, 2, 0]
    assert d.reverse_lookup('c') == set()
    assert d.casereverse_lookup('c') == set()

    d.remove_longest_key_listener(listener)
    d[('S', 'S')] = 'c'
    assert d.longest_key == 2
    assert notifications == [1, 4, 2, 0]
コード例 #7
0
    def test_dictionary(self):
        notifications = []
        def listener(longest_key):
            notifications.append(longest_key)

        d = StenoDictionary()
        self.assertEqual(d.longest_key, 0)

        d.add_longest_key_listener(listener)
        d[('S',)] = 'a'
        self.assertEqual(d.longest_key, 1)
        self.assertEqual(notifications, [1])
        d[('S', 'S', 'S', 'S')] = 'b'
        self.assertEqual(d.longest_key, 4)
        self.assertEqual(notifications, [1, 4])
        d[('S', 'S')] = 'c'
        self.assertEqual(d.longest_key, 4)
        self.assertEqual(d[('S', 'S')], 'c')
        self.assertEqual(notifications, [1, 4])
        del d[('S', 'S', 'S', 'S')]
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2])
        del d[('S',)]
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2])
        self.assertEqual(d.reverse_lookup('c'), [('S', 'S')])
        self.assertEqual(d.casereverse_lookup('c'), ['c'])
        d.clear()
        self.assertEqual(d.longest_key, 0)
        self.assertEqual(notifications, [1, 4, 2, 0])
        self.assertEqual(d.reverse_lookup('c'), [])
        self.assertEqual(d.casereverse_lookup('c'), [])

        d.remove_longest_key_listener(listener)
        d[('S', 'S')] = 'c'
        self.assertEqual(d.longest_key, 2)
        self.assertEqual(notifications, [1, 4, 2, 0])
コード例 #8
0
def test_dictionary():
    notifications = []
    def listener(longest_key):
        notifications.append(longest_key)

    d = StenoDictionary()
    assert d.longest_key == 0

    d.add_longest_key_listener(listener)
    d[('S',)] = 'a'
    assert d.longest_key == 1
    assert notifications == [1]
    d[('S', 'S', 'S', 'S')] = 'b'
    assert d.longest_key == 4
    assert notifications == [1, 4]
    d[('S', 'S')] = 'c'
    assert d.longest_key == 4
    assert d[('S', 'S')] == 'c'
    assert notifications == [1, 4]
    del d[('S', 'S', 'S', 'S')]
    assert d.longest_key == 2
    assert notifications == [1, 4, 2]
    del d[('S',)]
    assert d.longest_key == 2
    assert notifications == [1, 4, 2]
    assert d.reverse_lookup('c') == [('S', 'S')]
    assert d.casereverse_lookup('c') == ['c']
    d.clear()
    assert d.longest_key == 0
    assert notifications == [1, 4, 2, 0]
    assert d.reverse_lookup('c') == []
    assert d.casereverse_lookup('c') == []

    d.remove_longest_key_listener(listener)
    d[('S', 'S')] = 'c'
    assert d.longest_key == 2
    assert notifications == [1, 4, 2, 0]
コード例 #9
0
def test_dictionary_update():
    d = StenoDictionary()
    d.update([(('S-G', ), 'something'), (('SPH-G', ), 'something'),
              (('TPHOG', ), 'nothing')])
    assert d[('S-G', )] == 'something'
    assert d[('SPH-G', )] == 'something'
    assert d[('TPHOG', )] == 'nothing'
    assert d.reverse_lookup('something') == [('S-G', ), ('SPH-G', )]
    assert d.reverse_lookup('nothing') == [('TPHOG', )]
    d.update([(('S-G', ), 'string')])
    assert d[('S-G', )] == 'string'
    assert d.reverse_lookup('something') == [('SPH-G', )]
    assert d.reverse_lookup('string') == [('S-G', )]
    d.clear()
    d.update([(('EFG', ), 'everything'), (('EFG', ), 'everything???')])
    assert d[('EFG', )] == 'everything???'
    assert d.reverse_lookup('everything') == []
    assert d.reverse_lookup('everything???') == [('EFG', )]