Exemplo n.º 1
0
    def test_box(self):
        cells = RectCells(10, 10, 4.0, 2.0, (0.0, 0.0), 1)
        line = ((-2.0, -1.0), (-2.0, 0.0))
        b_cells = cells.generate_cell(line)
        self.assertEqual(b_cells.n_y, 5)
        self.assertEqual(b_cells.cell_length, cells.cell_length)
        self.assertEqual(b_cells.cell_width, cells.cell_width)

        line = ((-2.0, -1.0), (0.0, -1.0))
        b_cells = cells.generate_cell(line)
        self.assertEqual(b_cells.n_y, 1)
        self.assertEqual(b_cells.n_x, 5)
        self.assertEqual(b_cells.cell_length, cells.cell_length)
        self.assertEqual(b_cells.cell_width, cells.cell_width)

        box = [
            ((-2.0, -1.0), (-2.0, 1.0)),
            ((-2.0, 1.0), (2.0, 1.0)),
            ((2.0, 1.0), (2.0, -1.0)),
            ((2.0, -1.0), (-2.0, -1.0)),
        ]

        for line in box:
            b_cells = cells.generate_cell(line)
            if np.abs(line[0][0] - line[1][0]) < 1.0e-6:
                self.assertEqual(b_cells.n_y, cells.n_y)
                self.assertEqual(b_cells.n_x, 1)
            else:
                self.assertEqual(b_cells.n_x, cells.n_x)
                self.assertEqual(b_cells.n_y, 1)
            self.assertEqual(b_cells.cell_length, cells.cell_length)
            self.assertEqual(b_cells.cell_width, cells.cell_width)