class test_MetricObject(unittest.TestCase): def setUp(self): # similar test to distance_metric self.obj_a = MetricObject() self.obj_b = MetricObject() self.obj_c = MetricObject() def test_distance(self): self.obj_a.distance_criteria = ["var_1", "var_2", "var_3"] self.obj_b.distance_criteria = ["var_1", "var_2", "var_3"] self.obj_c.distance_criteria = ["var_5"] self.obj_a.var_1, self.obj_a.var_2, self.obj_a.var_3 = [0.1 ], [1, 2], [2.1] self.obj_b.var_1, self.obj_b.var_2, self.obj_b.var_3 = [1.8 ], [0, 0.1 ], [1.1] self.assertEqual(self.obj_a.distance(self.obj_b), 1.9) # change the length of a attribute list self.obj_b.var_1, self.obj_b.var_2, self.obj_b.var_3 = [1.8 ], [0, 0, 0.1 ], [1.1] self.assertEqual(self.obj_a.distance(self.obj_b), 1.7) # sanity check self.assertEqual(self.obj_b.distance(self.obj_b), 0.0)
def setUp(self): self.list_a = [1.0, 2.1, 3] self.list_b = [3.1, 4, -1.4] self.list_c = [8.6, 9] self.obj_a = MetricObject() self.obj_b = MetricObject() self.obj_c = MetricObject()
def test_solve(self): self.agent.time_vary = ["vary_1"] self.agent.time_inv = ["inv_1"] self.agent.vary_1 = [1.1, 1.2, 1.3, 1.4] self.agent.inv_1 = 1.05 # to test the superclass we create a dummy solve_one_period function # for our agent, which doesn't do anything, instead of using a NullFunc self.agent.solve_one_period = lambda vary_1: MetricObject() self.agent.solve() self.assertEqual(len(self.agent.solution), 4) self.assertTrue(isinstance(self.agent.solution[0], MetricObject))
def setUp(self): # similar test to distance_metric self.obj_a = MetricObject() self.obj_b = MetricObject() self.obj_c = MetricObject()