Added the ability to force which value is returned. If you're unsure whether you're passing VALUE or its EQUIVALENT to the function, you can force OPPOSITE, VALUE, or EQUIVALENT as a return value.
This commit is contained in:
31
main.cpp
31
main.cpp
@@ -56,5 +56,36 @@ TEST_CASE("all tests", "all") {
|
||||
REQUIRE(string_container_result == "2");
|
||||
}
|
||||
}
|
||||
|
||||
SECTION ("choosing result side") {
|
||||
int container_result;
|
||||
container.add(1, 2);
|
||||
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(1, container_result));
|
||||
CHECK(container_result == 2);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(1, container_result, DualLookup<int>::Type::OPPOSITE));
|
||||
CHECK(container_result == 2);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(1, container_result, DualLookup<int>::Type::EQUIVALENT));
|
||||
CHECK(container_result == 2);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(1, container_result, DualLookup<int>::Type::VALUE));
|
||||
CHECK(container_result == 1);
|
||||
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(2, container_result));
|
||||
CHECK(container_result == 1);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(2, container_result, DualLookup<int>::Type::OPPOSITE));
|
||||
CHECK(container_result == 1);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(2, container_result, DualLookup<int>::Type::EQUIVALENT));
|
||||
CHECK(container_result == 2);
|
||||
container_result = 0;
|
||||
REQUIRE(container.get(2, container_result, DualLookup<int>::Type::VALUE));
|
||||
CHECK(container_result == 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user