def setup_method(self): self.d = StenoDictionary() self.dc = StenoDictionaryCollection([self.d]) self.s = _State() self.o = self.CaptureOutput() self.tlor = Translator() self.tlor.set_dictionary(self.dc) self.tlor.add_listener(self.o) self.tlor.set_state(self.s)
def reset(self, full=False, output=True): self._log.debug('reset steno state (full=%s)' % full) state = _State() state.tail = self._translator.get_state().last() if full or state.tail is None: state.tail = Translation([Stroke('*')], None) state.tail.formatting = [_Action(attach=True)] self._translator.set_state(state) if output: self._output.reset()
def test_last_tail1(self): s = _State() s.translations = [self.a] s.tail = self.b self.assertEqual(s.last(), self.a)
def test_last_list0(self): s = _State() self.assertIsNone(s.last())
def test_restrict_size_multiple_translations(self): s = _State() s.translations = [self.a, self.b, self.c] s.restrict_size(5) assert s.translations == [self.b, self.c] assert s.tail == self.a
def test_restrict_size_zero_on_one_stroke(self): s = _State() s.translations = [self.a] s.restrict_size(0) assert s.translations == [self.a] assert s.tail is None
def test_prev_list2(self): s = _State() s.translations = [self.a, self.b] assert s.prev() == [self.a, self.b]
def test_restrict_size_to_one_on_two_strokes(self): s = _State() s.translations = [self.b] s.restrict_size(1) self.assertEquals(s.translations, [self.b]) self.assertIsNone(s.tail)
def test_prev_tail0(self): s = _State() s.tail = self.b self.assertEqual(s.prev(), [self.b])
def test_restrict_size_to_exactly_one_stroke(self): s = _State() s.translations = [self.a] s.restrict_size(1) assert s.translations == [self.a] assert s.tail is None
def test_restrict_size_zero_on_empty(self): s = _State() s.restrict_size(0) assert s.translations == [] assert s.tail is None
def test_prev_tail0(self): s = _State() s.tail = self.b assert s.prev() == [self.b]
def test_prev_tail1(self): s = _State() s.translations = [self.a] s.tail = self.b assert s.prev() == [self.a]
def test_prev_list2(self): s = _State() s.translations = [self.a, self.b] self.assertEqual(s.prev(), [self.a, self.b])
def test_restrict_size_to_one_on_two_strokes(self): s = _State() s.translations = [self.b] s.restrict_size(1) assert s.translations == [self.b] assert s.tail is None
def test_restrict_size_zero_on_one_stroke(self): s = _State() s.translations = [self.a] s.restrict_size(0) self.assertEquals(s.translations, [self.a]) self.assertIsNone(s.tail)
def test_restrict_size_to_one_on_two_translations_too_big(self): s = _State() s.translations = [self.a, self.b] s.restrict_size(1) assert s.translations == [self.b] assert s.tail == self.a
def test_restrict_size_multiple_translations(self): s = _State() s.translations = [self.a, self.b, self.c] s.restrict_size(5) self.assertEquals(s.translations, [self.b, self.c]) self.assertEqual(s.tail, self.a)
def test_restrict_size_lose_translations(self): s = _State() s.translations = [self.a, self.b, self.c] s.restrict_size(2) self.assertEquals(s.translations, [self.c]) self.assertEqual(s.tail, self.b)
def test_prev_list0(self): s = _State() self.assertIsNone(s.prev())
def test_prev_list0(self): s = _State() assert s.prev() is None
def test_last_list2(self): s = _State() s.translations = [self.a, self.b] self.assertEqual(s.last(), self.b)
def test_prev_tail1(self): s = _State() s.translations = [self.a] s.tail = self.b self.assertEqual(s.prev(), [self.a])
def test_last_tail0(self): s = _State() s.tail = self.b self.assertEqual(s.last(), self.b)
def test_restrict_size_to_one_on_two_translations_too_big(self): s = _State() s.translations = [self.a, self.b] s.restrict_size(1) self.assertEqual(s.translations, [self.b]) self.assertEqual(s.tail, self.a)
def test_restrict_size_lose_translations(self): s = _State() s.translations = [self.a, self.b, self.c] s.restrict_size(2) self.assertEqual(s.translations, [self.c]) self.assertEqual(s.tail, self.b)
def test_restrict_size_zero_on_empty(self): s = _State() s.restrict_size(0) self.assertEquals(s.translations, []) self.assertIsNone(s.tail)
def test_restrict_size_multiple_translations(self): s = _State() s.translations = [self.a, self.b, self.c] s.restrict_size(5) self.assertEqual(s.translations, [self.b, self.c]) self.assertEqual(s.tail, self.a)
def test_restrict_size_to_exactly_one_stroke(self): s = _State() s.translations = [self.a] s.restrict_size(1) self.assertEquals(s.translations, [self.a]) self.assertIsNone(s.tail)
def test_restrict_size_to_one_on_two_translations_too_big(self): s = _State() s.translations = [self.a, self.b] s.restrict_size(1) self.assertEquals(s.translations, [self.b]) self.assertEqual(s.tail, self.a)
def setUp(self): self.d = StenoDictionary() self.dc = StenoDictionaryCollection() self.dc.set_dicts([self.d]) self.s = _State() self.o = type(self).CaptureOutput()