def test_starts_with_gen_and_list(self): """Test starts_with function on generators and lists """ self.assertTrue(starts_with(range(2), [0, 1, 2, 3])) self.assertFalse(starts_with([1, 2, 3, 4], range(4))) self.assertTrue(starts_with([0], count())) self.assertFalse(starts_with(count(), [1, 2, 3]))
def test_starts_with_lists(self): """Test starts_with function on lists """ self.assertTrue(starts_with([1], [1, 2])) self.assertTrue(starts_with(['a', 'b'], ['a', 'b', 'c'])) self.assertFalse(starts_with([1], [])) self.assertFalse(starts_with([1, 2, 3], [3, 2, 1, 3]))
def test_starts_with_generators(self): """Test starts_with function on generators """ self.assertTrue(starts_with(range(10), range(20))) self.assertFalse(starts_with(range(1, 3), range(4))) self.assertTrue(starts_with(range(20), count())) self.assertFalse(starts_with(count(), range(20)))
def is_descendant(superkey, key): """Returns true if key is a descendant of superkey """ split_super = superkey.split(self.SECTION_SEPARATOR) split_key = key.split(self.SECTION_SEPARATOR) return starts_with(split_super, split_key)