From a9d2cf8636dab5914bdd5d825a41a2e58641daef Mon Sep 17 00:00:00 2001 From: Jan Niklas Hasse Date: Mon, 28 May 2018 19:55:02 +0200 Subject: [PATCH] Add very simple unit test --- meson.build | 8 ++++++++ unittest/main.cpp | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 unittest/main.cpp diff --git a/meson.build b/meson.build index b6986a2..4b4d5f7 100644 --- a/meson.build +++ b/meson.build @@ -8,3 +8,11 @@ lib = static_library('poly2tri', sources : [ 'poly2tri/sweep/sweep.cc', 'poly2tri/sweep/sweep_context.cc', ]) + +thread_dep = dependency('threads') +boost_test_dep = dependency('boost', modules : [ 'unit_test_framework' ], required : false) +if boost_test_dep.found() + test('Unit Test', executable('unittest', [ + 'unittest/main.cpp', + ], dependencies : [boost_test_dep, thread_dep], link_with : lib)) +endif diff --git a/unittest/main.cpp b/unittest/main.cpp new file mode 100644 index 0000000..d247ae9 --- /dev/null +++ b/unittest/main.cpp @@ -0,0 +1,19 @@ +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE Poly2triTest +#include +#include +#include + +BOOST_AUTO_TEST_CASE(BasicTest) { + std::vector polyline{ + new p2t::Point(0, 0), new p2t::Point(1, 0), new p2t::Point(1, 1), + }; + p2t::CDT cdt{polyline}; + cdt.Triangulate(); + const auto result = cdt.GetTriangles(); + assert(result.size() == 1); + BOOST_CHECK_EQUAL(*result[0]->GetPoint(0), *polyline[0]); + BOOST_CHECK_EQUAL(*result[0]->GetPoint(1), *polyline[1]); + BOOST_CHECK_EQUAL(*result[0]->GetPoint(2), *polyline[2]); + result[0]->DebugPrint(); +}