def test_can_change(self): group = AudioFileGroup( [GroupSong(can_change=True), GroupSong(can_change=True)]) self.assertTrue(group.can_change() is True) self.assertTrue(group.can_change("foo") is True) group = AudioFileGroup( [GroupSong(can_change=["foo", "ha"]), GroupSong(can_change=["ha"])]) self.assertEqual(group.can_change(), {"ha"}) self.assertFalse(group.can_change("foo")) self.assertTrue(group.can_change("ha")) group = AudioFileGroup([GroupSong(), GroupSong(cant_change=["baz"])]) self.assertTrue(group.can_change()) self.assertFalse(group.can_change("baz"))