2 * SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
4 * SPDX-License-Identifier: GPL-3.0-only
14 WVTEST_MAIN("pslot basic geometry")
16 ParkingSlot ps(Point(1.0, 1.0), 3.0 * M_PI / 4.0, sqrt(8.0), sqrt(2.0));
17 WVPASSEQ_DOUBLE(ps.lrx(), 1.0, 0.00001);
18 WVPASSEQ_DOUBLE(ps.lry(), 1.0, 0.00001);
19 WVPASSEQ_DOUBLE(ps.rrx(), 3.0, 0.00001);
20 WVPASSEQ_DOUBLE(ps.rry(), 3.0, 0.00001);
21 WVPASSEQ_DOUBLE(ps.rfx(), 2.0, 0.00001);
22 WVPASSEQ_DOUBLE(ps.rfy(), 4.0, 0.00001);
23 WVPASSEQ_DOUBLE(ps.lfx(), 0.0, 0.00001);
24 WVPASSEQ_DOUBLE(ps.lfy(), 2.0, 0.00001);
26 WVPASS(!ps.parallel());
27 WVPASSEQ_DOUBLE(ps.h(), M_PI * 3.0 / 4.0, 0.00001);
28 Point p(ps.lfx(), ps.lfy());
29 ps = ParkingSlot(p, 7.0 * M_PI / 4.0, sqrt(8.0), sqrt(2.0));
31 WVPASSEQ_DOUBLE(ps.lrx(), 0.0, 0.00001);
32 WVPASSEQ_DOUBLE(ps.lry(), 2.0, 0.00001);
33 WVPASSEQ_DOUBLE(ps.rrx(), 2.0, 0.00001);
34 WVPASSEQ_DOUBLE(ps.rry(), 4.0, 0.00001);
35 WVPASSEQ_DOUBLE(ps.rfx(), 3.0, 0.00001);
36 WVPASSEQ_DOUBLE(ps.rfy(), 3.0, 0.00001);
37 WVPASSEQ_DOUBLE(ps.lfx(), 1.0, 0.00001);
38 WVPASSEQ_DOUBLE(ps.lfy(), 1.0, 0.00001);
40 WVPASS(!ps.parallel());
41 WVPASSEQ_DOUBLE(ps.h(), -M_PI / 4.0, 0.00001);