def test_not_equal_if_different_number_of_groups(self): manager_1 = MusicManager({"volume": 1, "groups": []}) manager_2 = MusicManager({ "volume": 1, "groups": [{ "name": "Group", "track_lists": [] }] }) assert manager_1 != manager_2 assert manager_2 != manager_1
def __init__(self, config_path, host, port): with open(config_path) as config_file: config = yaml.load(config_file, Loader=CustomLoader) self.music = MusicManager(config["music"], callback_fn=self.on_music_changes) self.sound = SoundManager(config["sound"], callback_fn=self.on_sound_changes) self.app = None self.host = host self.port = port
def test_not_equal_if_different_types(self): config = { "volume": 1, "groups": [{ "name": "Some Group", "track_lists": [] }] } manager = MusicManager(config) assert config != manager assert manager != config
def test_performs_checks_on_initialization(self, monkeypatch): do_all_checks_mock = MagicMock() monkeypatch.setattr( "src.music.music_manager.MusicChecker.do_all_checks", do_all_checks_mock) manager = MusicManager({ "volume": 1, "directory": "default/dir/", "groups": [] }) do_all_checks_mock.assert_called_once_with(manager.groups, manager.directory)
def test_sort_in_config(self, minimal_music_manager_config): name_starts_with_n_config = { "name": "Not First In The Alphabet", "track_lists": [] } name_starts_with_a_config = {"name": "Alphabet", "track_lists": []} minimal_music_manager_config["sort"] = False minimal_music_manager_config["groups"] = [ name_starts_with_n_config, name_starts_with_a_config ] music_manager = MusicManager(minimal_music_manager_config) assert music_manager.groups[0] == MusicGroup(name_starts_with_n_config) assert music_manager.groups[1] == MusicGroup(name_starts_with_a_config)
def test_groups_are_created(self, minimal_music_manager_config): music_group_1_config = { "name": "Some Music Group 1", "track_lists": [] } music_group_2_config = { "name": "Some Music Group 2", "track_lists": [] } minimal_music_manager_config["groups"] = [ music_group_1_config, music_group_2_config ] music_manager = MusicManager(minimal_music_manager_config) assert len(music_manager.groups) == 2 assert music_manager.groups[0] == MusicGroup(music_group_1_config) assert music_manager.groups[1] == MusicGroup(music_group_2_config)
def test_not_equal_if_different_attributes(self): manager_1 = MusicManager({"volume": 1, "groups": []}) manager_2 = MusicManager({"volume": 0.5, "groups": []}) assert manager_1 != manager_2 assert manager_2 != manager_1
def test_equal_if_same_config(self): manager_1 = MusicManager({"volume": 1, "groups": []}) manager_2 = MusicManager({"volume": 1, "groups": []}) assert manager_1 == manager_2 assert manager_2 == manager_1
def test_music_groups_use_tuple_instead_of_list( self, minimal_music_manager_config): music_manager = MusicManager(minimal_music_manager_config) assert isinstance(music_manager.groups, tuple)
def test_directory_in_config(self, minimal_music_manager_config): minimal_music_manager_config["directory"] = "/some/dir/" music_manager = MusicManager(minimal_music_manager_config) assert music_manager.directory == "/some/dir/"
def test_directory_is_none_by_default(self, minimal_music_manager_config): music_manager = MusicManager(minimal_music_manager_config) assert music_manager.directory is None
def test_minimal_dict_as_config(self, minimal_music_manager_config): music_manager = MusicManager(minimal_music_manager_config) assert music_manager.volume == 50 assert len(music_manager.groups) == 0
def example_music_manager(self, example_config, monkeypatch): with monkeypatch.context() as m: m.setattr("src.music.music_manager.MusicChecker", MagicMock()) manager = MusicManager(config=example_config["music"]) return manager
def test_minimal_server_configures_music(self, minimal_server): minimal_music_config = {"volume": 0.2, "groups": []} assert minimal_server.music == MusicManager(minimal_music_config)