angle calculation fix ; created tests
This commit is contained in:
@@ -76,6 +76,66 @@ class PanelPresenterTest(unittest.TestCase):
|
||||
actual_buildings = self.subject.get_buildings(buildings,60)
|
||||
assert_array_equal(actual_buildings,expected_buildings)
|
||||
|
||||
def test_get_corners_box_building(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
buildings = [ [ [0, 0], [60, 0], [60,60], [0, 60] ] ] # big square
|
||||
expected_corners = [[
|
||||
{'x': 0, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 60, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 60, 'y': 60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 0, 'y': 60, 'length_cw': 60, 'length_ccw':60, 'angle':90}
|
||||
]]
|
||||
actual_corners = self.subject.get_corners(buildings)
|
||||
assert_array_equal(actual_corners,expected_corners)
|
||||
|
||||
def test_get_corners_box_building_rotated_30_degrees(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
buildings = [ [ [0, 0], [51.96, 30], [21.96, 81.96], [-30, 51.96] ] ] # big square
|
||||
expected_corners = [[
|
||||
{'x': 0, 'y': 0, 'length_cw': 59.99867998547968, 'length_ccw':59.99867998547968, 'angle':90},
|
||||
{'x': 51.96, 'y': 30, 'length_cw': 59.99867998547968, 'length_ccw':59.998679985479676, 'angle':90},
|
||||
{'x': 21.96, 'y': 81.96, 'length_cw': 59.998679985479676, 'length_ccw':59.998679985479676, 'angle':90},
|
||||
{'x': -30, 'y': 51.96, 'length_cw': 59.998679985479676, 'length_ccw':59.99867998547968, 'angle':90}
|
||||
]]
|
||||
actual_corners = self.subject.get_corners(buildings)
|
||||
assert_array_equal(actual_corners,expected_corners)
|
||||
|
||||
def test_get_corners_box_building_rotated_90_degrees(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
buildings = [ [ [0, 0], [0, 60], [-60,60], [-60, 0] ] ] # big square
|
||||
expected_corners = [[
|
||||
{'x': 0, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 0, 'y': 60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': -60, 'y': 60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': -60, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90}
|
||||
]]
|
||||
actual_corners = self.subject.get_corners(buildings)
|
||||
assert_array_equal(actual_corners,expected_corners)
|
||||
|
||||
def test_get_corners_box_building_rotated_180_degrees(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
buildings = [ [ [0, 0], [-60, 0], [-60,-60], [0, -60] ] ] # big square
|
||||
expected_corners = [[
|
||||
{'x': 0, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': -60, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': -60, 'y': -60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 0, 'y': -60, 'length_cw': 60, 'length_ccw':60, 'angle':90}
|
||||
]]
|
||||
actual_corners = self.subject.get_corners(buildings)
|
||||
assert_array_equal(actual_corners,expected_corners)
|
||||
|
||||
def test_get_corners_box_building_rotated_270_degrees(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
buildings = [ [ [0, 0], [0, -60], [60,-60], [60, 0] ] ] # big square
|
||||
expected_corners = [[
|
||||
{'x': 0, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 0, 'y': -60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 60, 'y': -60, 'length_cw': 60, 'length_ccw':60, 'angle':90},
|
||||
{'x': 60, 'y': 0, 'length_cw': 60, 'length_ccw':60, 'angle':90}
|
||||
]]
|
||||
actual_corners = self.subject.get_corners(buildings)
|
||||
assert_array_equal(actual_corners,expected_corners)
|
||||
|
||||
def test_get_max_y(self):
|
||||
self.subject = ProjectPresenter(SystemType.singleTilt, ModuleType.Cell96)
|
||||
panels = [
|
||||
|
||||
Reference in New Issue
Block a user