19 #include "absl/hash/hash_testing.h"
20 #include "gtest/gtest.h"
24 TEST(SimpleGraphTest, EdgeHashing) {
25 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly({
32 TEST(SimpleGraphTest, EdgeEquality) {
33 EXPECT_EQ(Edge(0, 0), Edge(0, 0));
34 EXPECT_NE(Edge(0, 0), Edge(1, 2));
35 EXPECT_EQ(Edge(2, 1), Edge(1, 2));
38 TEST(SimpleGraphTest, ArcHashing) {
39 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly({
46 TEST(SimpleGraphTest, ArcEquality) {
47 EXPECT_EQ(Arc(0, 0), Arc(0, 0));
48 EXPECT_NE(Arc(0, 0), Arc(1, 2));
49 EXPECT_NE(Arc(2, 1), Arc(1, 2));
52 TEST(Coordinates2Test, Int) {
53 EXPECT_EQ(Coordinates2<int>(0, 0), Coordinates2<int>(0, 0));
54 EXPECT_NE(Coordinates2<int>(0, 0), Coordinates2<int>(1, 2));
56 std::stringstream generated;
57 generated << Coordinates2<int>(0, 1);
58 EXPECT_EQ(generated.str(),
"{x = 0, y = 1}");
60 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly(
61 {Coordinates2<int>(), Coordinates2<int>(0, 0), Coordinates2<int>(1, 2)}));
64 TEST(Coordinates2Test, Double) {
65 EXPECT_EQ(Coordinates2<double>(0, 0), Coordinates2<double>(0, 0));
66 EXPECT_NE(Coordinates2<double>(0, 0), Coordinates2<double>(1, 2));
68 std::stringstream generated;
69 generated << Coordinates2<double>(0.0, 1.0);
70 EXPECT_EQ(generated.str(),
"{x = 0, y = 1}");
72 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly(
73 {Coordinates2<double>(), Coordinates2<double>(0, 0),
74 Coordinates2<double>(1, 2)}));
77 TEST(Coordinates3Test, Int) {
78 EXPECT_EQ(Coordinates3<int>(0, 0, 0), Coordinates3<int>(0, 0, 0));
79 EXPECT_NE(Coordinates3<int>(0, 0, 0), Coordinates3<int>(1, 2, 3));
81 std::stringstream generated;
82 generated << Coordinates3<int>(0, 1, 2);
83 EXPECT_EQ(generated.str(),
"{x = 0, y = 1, z = 2}");
85 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly(
86 {Coordinates3<int>(), Coordinates3<int>(0, 0, 0),
87 Coordinates3<int>(1, 2, 3)}));
90 TEST(Coordinates3Test, Double) {
91 EXPECT_EQ(Coordinates3<double>(0, 0, 0), Coordinates3<double>(0, 0, 0));
92 EXPECT_NE(Coordinates3<double>(0, 0, 0), Coordinates3<double>(1, 2, 3));
94 std::stringstream generated;
95 generated << Coordinates3<double>(0.0, 1.0, 2.0);
96 EXPECT_EQ(generated.str(),
"{x = 0, y = 1, z = 2}");
98 EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly(
99 {Coordinates3<double>(), Coordinates3<double>(0.0, 0.0, 0.0),
100 Coordinates3<double>(1.0, 2.0, 3.0)}));
Collection of objects used to extend the Constraint Solver library.
TEST(LinearAssignmentTest, NullMatrix)