| 9 | }; |
| 10 | |
| 11 | TEST_F(Arrangement2Test, simple) { |
| 12 | Matrix2Fr points(3, 2); |
| 13 | points << 0.0, 0.0, |
| 14 | 1.0, 0.0, |
| 15 | 0.0, 1.0; |
| 16 | Matrix2Ir segments(3, 2); |
| 17 | segments << 0, 1, |
| 18 | 1, 2, |
| 19 | 2, 0; |
| 20 | |
| 21 | Arrangement2 arrangement; |
| 22 | arrangement.set_points(points); |
| 23 | arrangement.set_segments(segments); |
| 24 | arrangement.run(); |
| 25 | |
| 26 | const auto& vertices = arrangement.get_vertices(); |
| 27 | const auto& edges = arrangement.get_edges(); |
| 28 | |
| 29 | ASSERT_EQ(3, vertices.rows()); |
| 30 | ASSERT_EQ(2, vertices.cols()); |
| 31 | ASSERT_EQ(3, edges.rows()); |
| 32 | ASSERT_EQ(2, edges.cols()); |
| 33 | |
| 34 | Matrix2Fr queries(4, 2); |
| 35 | queries << 0.0, 0.0, |
| 36 | 0.5, 0.0, |
| 37 | 0.5, 0.1, |
| 38 | 1.0, 1.0; |
| 39 | const auto r = arrangement.query(queries); |
| 40 | ASSERT_EQ(Arrangement2::POINT, r[0].first); |
| 41 | ASSERT_EQ(Arrangement2::SEGMENT,r[1].first); |
| 42 | ASSERT_EQ(Arrangement2::CELL, r[2].first); |
| 43 | ASSERT_EQ(Arrangement2::CELL, r[3].first); |
| 44 | |
| 45 | ASSERT_DOUBLE_EQ(0, (vertices.row(r[0].second) - points.row(0)).norm()); |
| 46 | ASSERT_NE(r[2].second, r[3].second); |
| 47 | } |
| 48 | |
| 49 | TEST_F(Arrangement2Test, double_cell) { |
| 50 | Matrix2Fr points(4, 2); |
nothing calls this directly
no test coverage detected