def test_initial_goal(self, mock_open): from apopcaleaps_interface import _construct_goal mock_handle = mock_open().__enter__() mock_handle.readlines.return_value = ['key(minor), measures(3)'] subpath = mock.MagicMock() expected = "key(minor), unspecified_measure(1), unspecified_measure(2)" expected += ", unspecified_measure(3), max_unspecified(0), initial" expected += ", measures(3)" self.assertEqual(_construct_goal(subpath, 3, initial=True), expected)
def test_structure_no_measures(self, mock_open, mock_analyze_chords): from apopcaleaps_interface import _construct_goal mock_handle = mock_open().__enter__() mock_handle.readlines.return_value = ['key(minor), measures(3)'] mock_analyze_chords.return_value = ['mchord(1,c)', 'mchord(2,am)', 'mchord(3,c)'] subpath = mock.MagicMock() expected = "key(minor), unspecified_measure(1), unspecified_measure(2)" expected += ", unspecified_measure(3), max_unspecified(0), " expected += "mchord(1,c), mchord(2,am), mchord(3,c), measures(3)" self.assertEqual(_construct_goal(subpath, 3, unspecified=range(1, 4)), expected)
def test_non_initial_goal(self, mock_open, mock_analyze_chords, mock_analyze_measure): from apopcaleaps_interface import _construct_goal mock_handle = mock_open().__enter__() mock_handle.readlines.return_value = ['key(minor), measures(3)'] subpath = mock.MagicMock() mock_analyze_chords.return_value = ['mchord(1,c)', 'mchord(2,am)', 'mchord(3,c)'] mock_analyze_measure.side_effect = [[], ["next_beat(drums,3,2,0,3,2,0.5)"]] mock_subpath = mock.MagicMock() expected = "key(minor), unspecified_measure(2), max_unspecified(0), " expected += "mchord(1,c), mchord(2,am), mchord(3,c), " expected += "next_beat(drums,3,2,0,3,2,0.5), " expected += "measures(3)" self.assertEqual(_construct_goal(mock_subpath, 3, False, [2]), expected)