def test_given_a_basic_mapping_yields_expected_results_with_scale_change(self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 0.5 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [[1.0, 1.0, 0.0], [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0]] expected_points_pre = [(0.75, 0.75), (0.25, 0.25), (0.5, 0.5), (0.625, 0.625)] expected_points_post = [(1.0, 1.0), (0.0, 0.0), (0.5, 0.5), (0.75, 0.75)] actual_points_pre = [transformer.transform(point) for point in test_points] transformer.set_scale(1.0) actual_points_post = [transformer.transform(point) for point in test_points] self.assertEquals(expected_points_pre, actual_points_pre) self.assertEquals(expected_points_post, actual_points_post)
def test_given_a_basic_mapping_yields_expected_results_with_scale_change( self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 0.5 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [[1.0, 1.0, 0.0], [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0]] expected_points_pre = [(0.75, 0.75), (0.25, 0.25), (0.5, 0.5), (0.625, 0.625)] expected_points_post = [(1.0, 1.0), (0.0, 0.0), (0.5, 0.5), (0.75, 0.75)] actual_points_pre = [ transformer.transform(point) for point in test_points ] transformer.set_scale(1.0) actual_points_post = [ transformer.transform(point) for point in test_points ] self.assertEquals(expected_points_pre, actual_points_pre) self.assertEquals(expected_points_post, actual_points_post)
def test_given_a_basic_mapping_yields_expected_results(self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 1.0 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [ [1.0, 1.0, 0.0], [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0], [1.0, 1.0, 2.5], [-1.0, -1.0, 2.5], [0.0, 0.0, 2.5], [0.5, 0.5, 2.5], [1.0, 1.0, 5.0], [-1.0, -1.0, 5.0], [0.0, 0.0, 5.0], [0.5, 0.5, 5.0]] expected_points = [((x + 1.0) / 2.0, (y + 1.0) / 2.0) for (x, y, z) in test_points] actual_points = [transformer.transform(point) for point in test_points] self.assertEquals(expected_points, actual_points)
def test_given_a_basic_mapping_yields_expected_results(self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 1.0 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [[1.0, 1.0, 0.0], [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0], [1.0, 1.0, 2.5], [-1.0, -1.0, 2.5], [0.0, 0.0, 2.5], [0.5, 0.5, 2.5], [1.0, 1.0, 5.0], [-1.0, -1.0, 5.0], [0.0, 0.0, 5.0], [0.5, 0.5, 5.0]] expected_points = [((x + 1.0) / 2.0, (y + 1.0) / 2.0) for (x, y, z) in test_points] actual_points = [transformer.transform(point) for point in test_points] self.assertEquals(expected_points, actual_points)
def test_given_a_basic_mapping_yields_expected_results_with_scale(self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 0.5 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [[1.0, 1.0, 0.0], [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0]] expected_points = [(0.75, 0.75), (0.25, 0.25), (0.5, 0.5), (0.625, 0.625)] actual_points = [transformer.transform(point) for point in test_points] #self.assertEquals(expected_points, actual_points) for idx in range(0, len(expected_points)): self.assertAlmostEquals(expected_points[idx][0], actual_points[idx][0]) self.assertAlmostEquals(expected_points[idx][1], actual_points[idx][1])
def test_given_a_basic_mapping_yields_expected_results_2(self): height = 2.0 lower_points = { (0.75, 0.75): (4.0, 4.0), (0.25, 0.75): (-4.0, 4.0), (0.75, 0.25): (4.0, -4.0), (0.25, 0.25): (-4.0, -4.0) } upper_points = { (1.0, 1.0): (4.0, 4.0), (0.0, 1.0): (-4.0, 4.0), (1.0, 0.0): (4.0, -4.0), (0.0, 0.0): (-4.0, -4.0) } scale = 1.0 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [ [4.0, 4.0, 0.0], [4.0, 4.0, 2.0], # [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0], # [1.0, 1.0, 2.5], [-1.0, -1.0,2.5], [0.0, 0.0,2.5], [0.5, 0.5,2.5], # [1.0, 1.0, 5.0], [-1.0, -1.0, 5.0], [0.0, 0.0, 5.0], [0.5, 0.5, 5.0] ] expected_points = [ (0.75, 0.75), (1.0, 1.0), # (0.3750, 0.3750), (0.5000, 0.5000), (0.5625, 0.5625), # (0.6667, 0.6667), (0.3333, 0.3333), (0.5000, 0.5000), (0.5833, 0.5833), # (1.0000, 1.0000), (0.0000, 0.0000), (0.5000, 0.5000), (0.7500, 0.7500) ] actual_points = [transformer.transform(point) for point in test_points] for idx in range(0, len(test_points)): self.assertAlmostEquals(expected_points[idx][0], actual_points[idx][0]) self.assertAlmostEquals(expected_points[idx][1], actual_points[idx][1])
def test_points_outside_range_clip(self): height = 1.0 lower_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } upper_points = { (1.0, 1.0): (1.0, 1.0), (0.0, 1.0): (-1.0, 1.0), (1.0, 0.0): (1.0, -1.0), (0.0, 0.0): (-1.0, -1.0) } scale = 1.0 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [[-2.0, -2.0, 0.0], [2.0, 2.0, 0.0]] results = [] for test_point in test_points: results.append(transformer.transform(test_point)) self.assertEquals([(0.0, 0.0), (1.0, 1.0)], results)
def test_given_a_basic_mapping_yields_expected_results_2(self): height = 2.0 lower_points = { (0.75, 0.75): (4.0, 4.0), (0.25, 0.75): (-4.0, 4.0), (0.75, 0.25): (4.0, -4.0), (0.25, 0.25): (-4.0, -4.0) } upper_points = { (1.0, 1.0): (4.0, 4.0), (0.0, 1.0): (-4.0, 4.0), (1.0, 0.0): (4.0, -4.0), (0.0, 0.0): (-4.0, -4.0) } scale = 1.0 transformer = HomogenousTransformer(scale, height, lower_points, upper_points) test_points = [ [4.0, 4.0, 0.0], [4.0, 4.0, 2.0], # [-1.0, -1.0, 0.0], [0.0, 0.0, 0.0], [0.5, 0.5, 0.0], # [1.0, 1.0, 2.5], [-1.0, -1.0,2.5], [0.0, 0.0,2.5], [0.5, 0.5,2.5], # [1.0, 1.0, 5.0], [-1.0, -1.0, 5.0], [0.0, 0.0, 5.0], [0.5, 0.5, 5.0] ] expected_points = [ (0.75, 0.75), (1.0, 1.0), # (0.3750, 0.3750), (0.5000, 0.5000), (0.5625, 0.5625), # (0.6667, 0.6667), (0.3333, 0.3333), (0.5000, 0.5000), (0.5833, 0.5833), # (1.0000, 1.0000), (0.0000, 0.0000), (0.5000, 0.5000), (0.7500, 0.7500) ] actual_points = [transformer.transform(point) for point in test_points] for idx in range(0,len(test_points)): self.assertAlmostEquals(expected_points[idx][0], actual_points[idx][0]) self.assertAlmostEquals(expected_points[idx][1], actual_points[idx][1])