def test_toplevels(self): timeline_container = common.create_timeline_container() timeline = timeline_container.timeline clip1, clip2, clip3, clip4 = self.add_clips_simple(timeline, 4) selection = Selection() selection.set_selection([clip1, clip2, clip3, clip4], SELECT) self.assertSetEqual(selection.toplevels, {clip1, clip2, clip3, clip4}) group1 = GES.Container.group([clip1, clip2]) group1.props.serialize = True self.assertSetEqual(selection.toplevels, {group1, clip3, clip4}) group2 = GES.Container.group([group1, clip3]) group2.props.serialize = True self.assertSetEqual(selection.toplevels, {group2, clip4}) group1.props.serialize = True group1.props.serialize = False self.assertSetEqual(selection.toplevels, {group2, clip4}) group1.props.serialize = False group2.props.serialize = False self.assertSetEqual(selection.toplevels, {clip1, clip2, clip3, clip4}) group1.props.serialize = True group2.props.serialize = False self.assertSetEqual(selection.toplevels, {group1, clip3, clip4})
def test_bool_evaluation(self): clip1 = mock.MagicMock() selection = Selection() self.assertFalse(selection) selection.set_selection([clip1], SELECT) self.assertTrue(selection) selection.set_selection([clip1], SELECT_ADD) self.assertTrue(selection) selection.set_selection([clip1], UNSELECT) self.assertFalse(selection)
def test_can_group_ungroup(self): timeline_container = common.create_timeline_container() timeline = timeline_container.timeline clip1, clip2 = self.add_clips_simple(timeline, 2) selection = Selection() self.assertFalse(selection.can_group) self.assertFalse(selection.can_ungroup) selection.set_selection([clip1], SELECT) self.assertFalse(selection.can_group) self.assertTrue(selection.can_ungroup) selection.set_selection([clip2], SELECT_ADD) self.assertTrue(selection.can_group) self.assertFalse(selection.can_ungroup) selection.set_selection([], SELECT) self.assertFalse(selection.can_group) self.assertFalse(selection.can_ungroup)
def test_get_single_clip(self): selection = Selection() clip1 = common.create_test_clip(GES.UriClip) clip2 = common.create_test_clip(GES.TitleClip) # Selection empty. self.assertIsNone(selection.get_single_clip()) self.assertIsNone(selection.get_single_clip(GES.UriClip)) self.assertIsNone(selection.get_single_clip(GES.TitleClip)) selection.set_selection([clip1], SELECT) self.assertEqual(selection.get_single_clip(), clip1) self.assertEqual(selection.get_single_clip(GES.UriClip), clip1) self.assertIsNone(selection.get_single_clip(GES.TitleClip)) selection.set_selection([clip2], SELECT) self.assertEqual(selection.get_single_clip(), clip2) self.assertIsNone(selection.get_single_clip(GES.UriClip)) self.assertEqual(selection.get_single_clip(GES.TitleClip), clip2) selection.set_selection([clip1, clip2], SELECT) self.assertIsNone(selection.get_single_clip()) self.assertIsNone(selection.get_single_clip(GES.UriClip)) self.assertIsNone(selection.get_single_clip(GES.TitleClip))