def test_optimize2(self, mock_init, mock_opt): """Test the case where the optimizer returns None (conflict).""" mock_db = Mock() mock_db.get_best.return_value = "(mock)", 1, 2 mock_db.get_result_count.return_value = 2 mock_model = Mock() mock_model.machine = MachineType() mock_model.fifos = [] mock_model.benchmarks = [MockBenchmark()] mock_init.return_value = Mock(), 10, 20 mock_opt(1, 2, 3, 4, 5).optimize.return_value = None mock_opt.reset_mock() optimize(mock_db, mock_model, 10, 5, ".") self.assertEqual(mock_init.call_count, 1) self.assertEqual(mock_db.get_best.call_count, 1) self.assertEqual(mock_opt.call_count, 1)
def test_get_initial_memory2(self): mock_db = Mock() mock_db.get_best.return_value = None, 0, 0 mock_model = Mock() mock_model.machine = MachineType() mock_model.benchmarks = [MockBenchmark()] mock_model.memory = MemoryList(MockMemory()) mock_model.memory.add_memory(Subsystem(1, 8, 0, None)) dist = Mock() result = get_initial_memory(mock_db, mock_model, dist, ".") self.assertEqual(len(result), 3) expected = "(main (memory (mock)))" expected += " (subsystem (id 1)(depth 0)(word_size 8)(memory (mock)))" self.assertEqual(str(result[0]), expected) self.assertEqual(result[1], 0) self.assertEqual(result[2], False)
def test_optimize1(self, mock_init, mock_opt): """Test the typical case.""" result_count = [2] def mock_get_result_count(mod): temp = result_count[0] result_count[0] += 1 return temp mock_db = Mock() mock_db.get_best.return_value = "(mock)", 1, 2 mock_db.get_result_count.side_effect = mock_get_result_count mock_model = Mock() mock_model.machine = MachineType() mock_model.fifos = [] mock_model.benchmarks = [MockBenchmark()] mock_init.return_value = Mock(), 10, 20 optimize(mock_db, mock_model, 10, 5, ".") self.assertEqual(mock_init.call_count, 1) self.assertEqual(mock_db.get_best.call_count, 9) self.assertEqual(mock_opt.call_count, 1)