-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathxy_test.cpp
More file actions
35 lines (27 loc) · 800 Bytes
/
Copy pathxy_test.cpp
File metadata and controls
35 lines (27 loc) · 800 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "xy.h"
#include <doctest/doctest.h>
namespace pivid {
TEST_CASE("XY arithmetic") {
CHECK(XY{3, 5}.x == 3);
CHECK(XY{3, 5}.y == 5);
CHECK(XY{1.1, 2.2}.as<int>() == XY{1, 2});
CHECK(!XY{0, 0});
CHECK(XY{1, 0});
CHECK(XY{0, 1});
CHECK(XY{3, 5} == XY{3, 5});
CHECK(XY{3, 5} != XY{5, 3});
CHECK(!(XY{3, 5} == XY{5, 3}));
CHECK(!(XY{3, 5} != XY{3, 5}));
CHECK(XY{3, 5} + XY{2, 1} == XY{5, 6});
CHECK(XY{3, 5} - XY{2, 1} == XY{1, 4});
CHECK(-XY{3, 5} == XY{-3, -5});
CHECK(XY{3, 5} * 2 == XY{6, 10});
CHECK(XY{3, 5} / 2 == XY{1, 2});
}
TEST_CASE("XY comparisons") {
CHECK(XY{1, 2} < XY{2, 1});
CHECK_FALSE(XY{1, 2} > XY{2, 1});
CHECK(XY{1, 1} < XY{1, 2});
CHECK_FALSE(XY{1, 1} > XY{1, 2});
}
} // namespace pivid