Skip to content
Snippets Groups Projects
Commit 8a5af2fb authored by Brandon Lai-Cheong's avatar Brandon Lai-Cheong
Browse files

fixed testcases

parent 36719758
No related branches found
No related tags found
No related merge requests found
......@@ -3,8 +3,7 @@
#include <point.h>
std::ostream &operator<<(std::ostream &os, const Triangle &t) {
return os << "Triangle: " << t.id
<< " {" << t.points[0] << ", " << t.points[1] << ", " << t.points[2] << "}";
return os << "Triangle" << "(" << t.points[0] << ", " << t.points[1] << ", " << t.points[2] << ", " << t.id << ")";
}
/*
std::ostream &operator<<(std::ostream &os, const std::vector<Triangle> &triangles) {
......
......@@ -7,7 +7,7 @@ bool Point::operator==(const Point &other) const {
}
std::ostream &operator<<(std::ostream &os, Point const &p) {
return os << "(" << p.x << "," << p.y << "," << p.z << ")";
return os << "{" << p.x << "," << p.y << "," << p.z << "}";
}
Point Point::operator-() const {
......@@ -22,4 +22,4 @@ Point Point::operator+(const Point &other) const {
Point Point::operator-(const Point &other) const {
return *this + (- other);
}
\ No newline at end of file
}
......@@ -73,7 +73,12 @@ TEST(UnionEdgeTests, TriangleOnSide)
auto results = unionize(t1, t2);
std::vector<Triangle> expected;
std::vector<Triangle> expected = {
Triangle({0,0,1}, {0.666667,1,1}, {0,1,1}, 1),
Triangle({0,5,1}, {0,3,1}, {0.857143,1.28571,1}, 1),
Triangle({0,5,1}, {0.857143,1.28571,1}, {2,3,1}, 1),
Triangle({0,1,0}, {1,1,0}, {0,3,0}, 2)
};
EXPECT_EQ(results, expected);
}
......@@ -40,7 +40,10 @@ TEST(UnionTests, SharesPointTest)
Triangle bottom = Triangle({0.1, 7, 5}, {5, 3,5}, {3.2, 9,5}, 2);
auto results = unionize(bottom, top);
std::vector<Triangle> expected_results_1;
std::vector<Triangle> expected_results_1 = {
Triangle({0.1, 7, 5}, {5, 3,5}, {3.2, 9,5}, 2),
Triangle({0, 5}, {3, 2}, {5, 3}, 1)
};
EXPECT_EQ(results, expected_results_1);
......@@ -49,7 +52,10 @@ TEST(UnionTests, SharesPointTest)
results = unionize(bottom, top);
std::vector<Triangle> expected_results_2;
std::vector<Triangle> expected_results_2 {
Triangle({0, 5}, {3, 2}, {5, 3}, 1),
Triangle({0.1, 7, 5}, {5, 3,5}, {3.2, 9,5}, 2)
};
EXPECT_EQ(results, expected_results_2);
}
......@@ -63,11 +69,9 @@ TEST(UnionTests, FoldTriangleTest)
auto results = unionize(bottom, top);
std::vector<Triangle> expected_results_1 = {
Triangle({0, 5,3}, {2.6129, 2.3871,3}, {1.91038,4.23585,3}, 1),
Triangle({3, 2,3}, {5, 3,3}, {2.27273,4.09091,3}, 1),
Triangle({3,2,3}, {2.27273,4.09091,3}, {2.6129,2.3871,3}, 1),
Triangle({2.6129,2.3871,3}, {2.27273,4.09091,3}, {2,4,3}, 1),
Triangle({0.1,9,1}, {2,4,1}, {5,5,1}, 2)
Triangle({0.1,9,1}, {1.91038,4.23585,1}, {2.27273,4.09091,1}, 2),
Triangle({0.1,9,1}, {2.27273,4.09091,1}, {5,5,1}, 2),
Triangle({0,5,0}, {3,2,0}, {5,3,0}, 1)
};
EXPECT_EQ(results, expected_results_1);
......@@ -77,11 +81,11 @@ TEST(UnionTests, FoldTriangleTest)
results = unionize(bottom, top);
std::vector<Triangle> expected_results_2 = {
Triangle({0,5, 3}, {2.6129, 2.3871, 3}, {1.91038, 4.23585, 3}, 1),
Triangle({3,2, 3}, {5, 3, 3}, {2.6129, 2.3871, 3}, 1),
Triangle({5,3, 3}, {2.27273, 4.09091, 3}, {2.6129, 2.3871, 3}, 1),
Triangle({2.27273,4.09091, 3}, {2, 4, 3}, {2.6129, 2.3871, 3}, 1),
Triangle({0.1,9}, {2, 4}, {5, 5}, 2)
Triangle({0,5,3}, {2.6129,2.3871,3}, {1.91038,4.23585,3}, 1),
Triangle({3,2,3}, {5,3,3}, {2.27273,4.09091,3}, 1),
Triangle({3,2,3}, {2.27273,4.09091,3}, {2.6129,2.3871,3}, 1),
Triangle({2.6129,2.3871,3}, {2.27273,4.09091,3}, {2,4,3}, 1),
Triangle({0.1,9,1}, {2,4,1}, {5,5,1}, 2)
};
EXPECT_EQ(results, expected_results_2);
......
......@@ -3,22 +3,6 @@
#include <triangle.h>
#include <edge.h>
TEST(SplitTriangleTests, NormalCase) {
Triangle t = Triangle({0,0}, {5,0}, {2,3}, 1);
Edge e{{4,3}, {3,1}};
auto results = splitShape(std::vector<Point>{t.points[0], t.points[1], t.points[2]}, e);
ASSERT_EQ(results.size(), 2);
auto pos = results[0];
auto neg = results[1];
std::vector<Point> expected_pos = {{0,0}, {2,3}};
std::vector<Point> expected_neg = {{5,0}};
EXPECT_EQ(pos, expected_pos);
EXPECT_EQ(neg, expected_neg);
}
TEST(SplitTriangleTests, NormalCase2) {
std::vector<Point> t {{0.1, 9}, {2,4}, {5,5}};
......@@ -66,4 +50,4 @@ TEST(SplitTriangleTests, OnEdge2) {
auto results = splitShape(t,e);
EXPECT_EQ(results[0].size(), 4);
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment