def test_calc_perimeter_nodes_vertical_rect(): assert_array_equal( VerticalRectTriGraph.perimeter_nodes((4, 3)), (1, 4, 7, 10, 11, 9, 6, 3, 0, 2) ) assert_array_equal( VerticalRectTriGraph.perimeter_nodes((4, 4)), (3, 7, 11, 15, 13, 14, 12, 8, 4, 0, 2, 1), ) assert_array_equal(VerticalRectTriGraph.perimeter_nodes((4, 1)), (0, 1, 2, 3)) assert_array_equal(VerticalRectTriGraph.perimeter_nodes((1, 4)), (3, 1, 2, 0))
def test_number_of_nodes_vertical_rect(): assert VerticalRectTriGraph.number_of_nodes((1, 2)) == 2 assert VerticalRectTriGraph.number_of_nodes((1, 3)) == 3 assert VerticalRectTriGraph.number_of_nodes((2, 2)) == 4 assert VerticalRectTriGraph.number_of_nodes((2, 3)) == 6 assert VerticalRectTriGraph.number_of_nodes((3, 2)) == 6 assert VerticalRectTriGraph.number_of_nodes((3, 3)) == 9
def test_xy_of_node_rect_vertical(n_rows, n_cols): expected = { (2, 2): ([0, 1, 0, 1], [0, 0.5, 1, 1.5]), (2, 3): ([0, 2, 1, 0, 2, 1], [0, 0, 0.5, 1, 1, 1.5]), (3, 2): ([0, 1, 0, 1, 0, 1], [0, 0.5, 1, 1.5, 2, 2.5]), (3, 3): ([0, 2, 1, 0, 2, 1, 0, 2, 1], [0, 0, 0.5, 1, 1, 1.5, 2, 2, 2.5]), } x_of_node, y_of_node = VerticalRectTriGraph.xy_of_node((n_rows, n_cols)) assert np.all(x_of_node / np.sin(np.pi / 3.0) == approx(expected[(n_rows, n_cols)][0])) assert np.all(y_of_node == approx(expected[(n_rows, n_cols)][1]))
def test_number_of_nodes_symetric_rect(hex_shape): assert VerticalRectTriGraph.number_of_nodes( hex_shape) == HorizontalRectTriGraph.number_of_nodes(hex_shape[::-1])
def test_calc_perimeter_node_count_vertical_rect(): assert VerticalRectTriGraph.number_of_perimeter_nodes((4, 1)) == 4 assert VerticalRectTriGraph.number_of_perimeter_nodes((4, 3)) == 10 assert VerticalRectTriGraph.number_of_perimeter_nodes((4, 4)) == 12