import unittest from nose.tools import eq_ from helix.calculators.subarray_helper import get_subarray_sizes_and_rows, extract_subarray from helix.models.panel import Panel from helix.models.subarray import Subarray class SubarrayHelperTest(unittest.TestCase): def test_get_subarray_sizes_and_rows(self): panels = [ Panel(ballast=5, subarray=2), Panel(ballast=6, subarray=2), Panel(ballast=2, subarray=2), Panel(ballast=1, subarray=5), Panel(ballast=5, subarray=5), Panel(ballast=6, subarray=5), Panel(ballast=8, subarray=5), Panel(ballast=2, subarray=5), Panel(ballast=2, subarray=6), Panel(ballast=2, subarray=6) ] result = get_subarray_sizes_and_rows(panels) expected = [ Subarray(subarray_number=2, start_row=0, size=3), Subarray(subarray_number=5, start_row=3, size=5), Subarray(subarray_number=6, start_row=8, size=2) ] eq_(expected, result) def test_extract_subarray(self): panels = [ Panel(ballast=5, subarray=2), Panel(ballast=6, subarray=2), Panel(ballast=2, subarray=2), Panel(ballast=1, subarray=5), Panel(ballast=5, subarray=5), Panel(ballast=6, subarray=5), Panel(ballast=8, subarray=5), Panel(ballast=2, subarray=5), Panel(ballast=2, subarray=6), Panel(ballast=2, subarray=6) ] result = extract_subarray(panels, 5) expected = [ Panel(ballast=1, subarray=5), Panel(ballast=5, subarray=5), Panel(ballast=6, subarray=5), Panel(ballast=8, subarray=5), Panel(ballast=2, subarray=5) ] eq_(result, expected)