From f547a37e8d7fa207504b840b0e66a8371327cd72 Mon Sep 17 00:00:00 2001 From: TinyAtoms Date: Fri, 17 Apr 2020 19:36:06 -0300 Subject: [PATCH] tests pass now --- src/Point.h | 10 +-- src/test.cpp | 226 +++++++++++++++++++++++++++------------------------ testoo | 57 +++++++++++++ 3 files changed, 178 insertions(+), 115 deletions(-) create mode 100644 testoo diff --git a/src/Point.h b/src/Point.h index 6d9f793..63cfec1 100644 --- a/src/Point.h +++ b/src/Point.h @@ -36,19 +36,15 @@ public: }; Point operator+(Vector lhs, Point rhs) { - return Point{rhs.x + lhs.x_, rhs.x + lhs.x_}; + return Point{rhs.x + lhs.x_, rhs.y + lhs.y_}; } Point operator+(Point lhs, Vector rhs) { - return Point{rhs.x_ + lhs.x, rhs.x_ + lhs.x}; -} - -Point operator-(Vector lhs, Point rhs) { - return Point{rhs.x - lhs.x_, rhs.x - lhs.x_}; + return Point{rhs.x_ + lhs.x, rhs.y_ + lhs.y}; } Point operator-(Point lhs, Vector rhs) { - return Point{rhs.x_ - lhs.x, rhs.x_ - lhs.x}; + return Point{lhs.x - rhs.x_, lhs.y - rhs.y_}; } Vector operator-(Point lhs, Point rhs){ diff --git a/src/test.cpp b/src/test.cpp index 5ff17eb..bab14b6 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -1,126 +1,136 @@ #define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this - // in one cpp file -#include "Point.h" + // in one cpp file #include "../external/catch2.hpp" +#include "Point.h" #include "shapes.h" - -TEST_CASE("Points are created correctly", "[POINT]") { - SECTION("constructor") { - Point test{5, 6}; - REQUIRE(test.x == 5); - REQUIRE(test.y == 6); - } +TEST_CASE("Points are created correctly", "[POINT]") +{ + SECTION("constructor") + { + Point test {5, 6}; + REQUIRE(test.x == 5); + REQUIRE(test.y == 6); + } } -TEST_CASE("Point operations", "[POINT]") { - SECTION("addition") { - Point test{5, 6}; - Vector translation {1,1}; - test = test + translation; - REQUIRE(test.x == 6); - REQUIRE(test.y == 7); - test = translation + test; - REQUIRE(test.x == 7); - REQUIRE(test.y == 8); - } - SECTION("subtraction") { - Point test{5, 6}; - Vector translation {1,1}; - test = test - translation; - REQUIRE(test.x == 4); - REQUIRE(test.y == 5); - test = translation - test; - REQUIRE(test.x == 3); - REQUIRE(test.y == 4); - } +TEST_CASE("Point operations", "[POINT]") +{ + SECTION("addition") + { + Point test {5, 6}; + Vector translation {1, 1}; + test = test + translation; + REQUIRE(test.x == 6); + REQUIRE(test.y == 7); + test = translation + test; + REQUIRE(test.x == 7); + REQUIRE(test.y == 8); + } + SECTION("subtraction") + { + Point test {5, 6}; + Vector translation {1, 1}; + test = test - translation; + REQUIRE(test.x == 4); + REQUIRE(test.y == 5); + } } -TEST_CASE("Vectors are created correctly", "[VECTOR]") { - SECTION("constructor") { - Vector test{5, 6}; - REQUIRE(test.x_ == 5); - REQUIRE(test.y_ == 6); - } +TEST_CASE("Vectors are created correctly", "[VECTOR]") +{ + SECTION("constructor") + { + Vector test {5, 6}; + REQUIRE(test.x_ == 5); + REQUIRE(test.y_ == 6); + } } +TEST_CASE("Vector operations work correctly", "[VECTOR]") +{ + SECTION("multiply") + { + Vector test {5, 6}; + const int scalar = 2; + test = test * scalar; + REQUIRE(test.x_ == 10); + REQUIRE(test.y_ == 12); + test = scalar * test; + REQUIRE(test.x_ == 20); + REQUIRE(test.y_ == 24); + } -TEST_CASE("Vector operations work correctly", "[VECTOR]") { - SECTION("multiply") { - Vector test{5, 6}; - const int scalar = 2; - test = test * scalar; - REQUIRE(test.x_ == 10); - REQUIRE(test.y_ == 12); - test = scalar * test; - REQUIRE(test.x_ == 20); - REQUIRE(test.y_ == 24); - } - - SECTION("addition") { - Vector test{5, 6}; - Vector test2{1,1}; - test = test + test2; - REQUIRE(test.x_ == 6); - REQUIRE(test.y_ == 7); - } - SECTION("subtraction") { - Vector test{5, 6}; - Vector test2{1,1}; - test = test - test2; - REQUIRE(test.x_ == 4); - REQUIRE(test.y_ == 5); - } + SECTION("addition") + { + Vector test {5, 6}; + Vector test2 {1, 1}; + test = test + test2; + REQUIRE(test.x_ == 6); + REQUIRE(test.y_ == 7); + } + SECTION("subtraction") + { + Vector test {5, 6}; + Vector test2 {1, 1}; + test = test - test2; + REQUIRE(test.x_ == 4); + REQUIRE(test.y_ == 5); + } } -TEST_CASE("Vectors are created correctly from points", "[VECTOR][POINT]") { - SECTION("constructor") { - Point a {5,6}; - Point b {2,5}; - auto test {a-b}; - REQUIRE(test.x_ == 3); - REQUIRE(test.y_ == 1); - } +TEST_CASE("Vectors are created correctly from points", "[VECTOR][POINT]") +{ + SECTION("constructor") + { + Point a {5, 6}; + Point b {2, 5}; + auto test {a - b}; + REQUIRE(test.x_ == 3); + REQUIRE(test.y_ == 1); + } } - - -TEST_CASE("rects are created correctly from points", "[RECTANGLE]") { - SECTION("constructor") { - Point a {5,6}; - Point b {2,5}; - Rect test {a,b}; - REQUIRE(test.br.x == b.x); - REQUIRE(test.br.y == b.y); - REQUIRE(test.tl.x == a.x); - REQUIRE(test.tl.y == a.y); - } +TEST_CASE("rects are created correctly from points", "[RECTANGLE]") +{ + SECTION("constructor") + { + Point a {5, 6}; + Point b {2, 5}; + Rect test {a, b}; + REQUIRE(test.br.x == b.x); + REQUIRE(test.br.y == b.y); + REQUIRE(test.tl.x == a.x); + REQUIRE(test.tl.y == a.y); + } } -TEST_CASE("rect operations", "[RECTANGLE]") { - SECTION("MOVE") { - Point a {5,6}; - Point b {2,5}; - Rect test {a,b}; - const int scale = 2; - Vector move {1,1}; - test.move(move); - REQUIRE(test.br.x == b.x + 1); - REQUIRE(test.br.y == b.y + 1); - REQUIRE(test.tl.x == a.x+1); - REQUIRE(test.tl.y == a.y+1); - } - SECTION("SCALE") { - Point a {5,6}; - Point b {2,5}; - Rect test {a,b}; - const int scale = 2; - Vector move = (b-a) * 2; - Point newpoint = a + move; - test.move(move); - REQUIRE(test.br.x == newpoint.x); - REQUIRE(test.br.y == newpoint.y); - REQUIRE(test.tl.x == a.x); - REQUIRE(test.tl.y == a.y); - } +TEST_CASE("rect operations", "[RECTANGLE]") +{ + SECTION("MOVE") + { + Point a {5, 6}; + Point b {2, 5}; + Rect test {a, b}; + const int scale = 2; + Vector move {1, 1}; + test.move(move); + REQUIRE(test.br.x == b.x + 1); + REQUIRE(test.br.y == b.y + 1); + REQUIRE(test.tl.x == a.x + 1); + REQUIRE(test.tl.y == a.y + 1); + } + SECTION("SCALE") + { + Point a {5, 6}; + Point b {2, 5}; + Rect test {a, b}; + Point newb = a + (b - a) * 2; + const int scale = 2; + test.scale(scale); + REQUIRE(test.tl.x == a.x); + REQUIRE(test.tl.y == a.y); + REQUIRE(test.br.x == newb.x); + REQUIRE(test.br.y == newb.y); + } } \ No newline at end of file diff --git a/testoo b/testoo new file mode 100644 index 0000000..8bc1dbf --- /dev/null +++ b/testoo @@ -0,0 +1,57 @@ +SHELL=/usr/bin/zsh +SESSION_MANAGER=local/manjari-linuj:@/tmp/.ICE-unix/1070,unix/manjari-linuj:/tmp/.ICE-unix/1070 +XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2 +DESKTOP_SESSION=/usr/share/xsessions/plasma +GTK_RC_FILES=/etc/gtk/gtkrc:/home/massiveatoms/.gtkrc:/home/massiveatoms/.config/gtkrc +EDITOR=/usr/bin/nano +GTK_MODULES=canberra-gtk-module +XDG_SEAT=seat0 +PWD=/home/massiveatoms/Desktop/testobuild +XDG_SESSION_DESKTOP=KDE +LOGNAME=massiveatoms +XDG_SESSION_TYPE=x11 +_=/usr/bin/printenv +XAUTHORITY=/tmp/xauth-1000-_0 +GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/massiveatoms/.gtkrc-2.0:/home/massiveatoms/.config/gtkrc-2.0 +HOME=/home/massiveatoms +LANG=en_US.UTF-8 +XDG_CURRENT_DESKTOP=KDE +XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 +KDE_SESSION_UID=1000 +XDG_SESSION_CLASS=user +USER=massiveatoms +KDE_SESSION_VERSION=5 +PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket +DISPLAY=:0 +SHLVL=1 +XDG_VTNR=1 +XDG_SESSION_ID=2 +QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 +MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins +XDG_RUNTIME_DIR=/run/user/1000 +QT_AUTO_SCREEN_SCALE_FACTOR=0 +LC_COLLATE=C +XCURSOR_THEME=volantes_cursors +XDG_DATA_DIRS=/home/massiveatoms/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop +KDE_FULL_SESSION=true +BROWSER=/usr/bin/firefox +PATH=/home/massiveatoms/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin +GTK_USE_PORTAL=1 +DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus +MAIL=/var/spool/mail/massiveatoms +OLDPWD=/home/massiveatoms/Desktop/testobuild +APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL=true +NO_AT_BRIDGE=1 +CHROME_DESKTOP=code-oss.desktop +TERM_PROGRAM=vscode +TERM_PROGRAM_VERSION=1.43.2 +COLORTERM=truecolor +TERM=xterm-256color +LESS_TERMCAP_mb= +LESS_TERMCAP_md= +LESS_TERMCAP_me= +LESS_TERMCAP_se= +LESS_TERMCAP_so= +LESS_TERMCAP_ue= +LESS_TERMCAP_us= +LESS=-r