]> rtime.felk.cvut.cz Git - hubacji1/bcar.git/blobdiff - ut/pslot.t.cc
Add license info to all source files
[hubacji1/bcar.git] / ut / pslot.t.cc
index 9d55b8a1af2b406dbeb7b9f87957b2b5e73af009..ba0154488931f80e24de5cacb691b81c32f338ec 100644 (file)
@@ -1,35 +1,42 @@
+/*
+ * SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
 #include <cmath>
 #include "wvtest.h"
 
 #include "pslot.hh"
 
+using namespace bcar;
+
 WVTEST_MAIN("pslot basic geometry")
 {
-       ParkingSlot ps = ParkingSlot();
-       ps.set_slot(0.5, 1.5, M_PI/4, sqrt(2), sqrt(8));
-
-       // slot info
-       WVPASSEQ_DOUBLE(ps.x1(), 1, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y1(), 1, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x2(), 3, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y2(), 3, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x3(), 2, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y3(), 4, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x4(), 0, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y4(), 2, 0.00001);
+       ParkingSlot ps(Point(1.0, 1.0), 3.0 * M_PI / 4.0, sqrt(8.0), sqrt(2.0));
+       WVPASSEQ_DOUBLE(ps.lrx(), 1.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lry(), 1.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rrx(), 3.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rry(), 3.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rfx(), 2.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rfy(), 4.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lfx(), 0.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lfy(), 2.0, 0.00001);
        WVPASS(ps.right());
        WVPASS(!ps.parallel());
-       WVPASSEQ_DOUBLE(ps.heading(), M_PI * 3 / 4, 0.00001);
-       ps.reverse_border();
-       WVPASSEQ_DOUBLE(ps.x1(), 0, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y1(), 2, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x2(), 2, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y2(), 4, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x3(), 3, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y3(), 3, 0.00001);
-       WVPASSEQ_DOUBLE(ps.x4(), 1, 0.00001);
-       WVPASSEQ_DOUBLE(ps.y4(), 1, 0.00001);
+       WVPASSEQ_DOUBLE(ps.h(), M_PI * 3.0 / 4.0, 0.00001);
+       Point p(ps.lfx(), ps.lfy());
+       ps = ParkingSlot(p, 7.0 * M_PI / 4.0, sqrt(8.0), sqrt(2.0));
+       ps.swap_side();
+       WVPASSEQ_DOUBLE(ps.lrx(), 0.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lry(), 2.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rrx(), 2.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rry(), 4.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rfx(), 3.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.rfy(), 3.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lfx(), 1.0, 0.00001);
+       WVPASSEQ_DOUBLE(ps.lfy(), 1.0, 0.00001);
        WVPASS(!ps.right());
        WVPASS(!ps.parallel());
-       WVPASSEQ_DOUBLE(ps.heading(), -M_PI / 4, 0.00001);
+       WVPASSEQ_DOUBLE(ps.h(), -M_PI / 4.0, 0.00001);
 }