def test_if_possible_keep_selected_candidate_when_reduced(self): cands = Candidates(('abc', 'cde', 'efg')) cands.current_index = 1 self.assert_focus(cands, 1, 'cde') cands.reduce(r'e') self.assert_focus(cands, 0, 'cde') cands.reduce(r'f') self.assert_focus(cands, 0, 'efg')
def test_equality(self): a = Candidates(('foo', 'bar', 'baz')) b = Candidates(('bar', 'baz', 'foo')) self.assertEqual(a, b) a.reduce('^ba') self.assertEqual(a, b) self.assertNotEqual(tuple(a), tuple(b))
def test_reduce(self): cands = Candidates(('bar', 'baz', 'foo')) self.assert_focus(cands, 0, 'bar') cands.reduce(r'^b') self.assertEqual(tuple(cands), ('bar', 'baz')) self.assert_focus(cands, 0, 'bar') cands.next() self.assert_focus(cands, 1, 'baz') cands.next() self.assert_focus(cands, 0, 'bar')
def test_current_and_current_index_when_reduced(self): self.assert_focus(Candidates(), None, None) cands = Candidates(('bar', 'baz', 'foo')) cands.reduce(r'^f') cands.current_index = -1 self.assert_focus(cands, 0, 'foo') cands.current_index = 0 self.assert_focus(cands, 0, 'foo') cands.current_index = 1 self.assert_focus(cands, 0, 'foo')
def test_no_candidates(self): self.assertEqual(Candidates(()).current_index, None) cands = Candidates(('a', 'b', 'c')) cands.reduce('x') self.assert_focus(cands, None, None)