From cabfdd57eaa9e15bf6130dd4dd4c9ee6faefb484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana?= Date: Mon, 5 Dec 2022 00:50:44 +0100 Subject: [PATCH] Complete CPP tests --- Makefile | 2 ++ fimdlp/CPPFImdlp.cpp | 4 ---- fimdlp/cppfimdlp.cpython-310-darwin.so | Bin 123264 -> 122968 bytes fimdlp/testcpp/FImdlp_unittest.cc | 24 ++++++++++++++++++++++++ 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 9b99264..47d0419 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ clean: ## Clean up rm -rf build dist *.egg-info if [ -f fimdlp/cfimdlp.cpp ]; then rm fimdlp/cfimdlp.cpp; fi; if [ -f fimdlp/cppfimdlp.cpython-310-darwin.so ]; then rm fimdlp/cppfimdlp.cpython-310-darwin.so; fi; + if [ -d fimdlp/testcpp/build ]; then rm -fr fimdlp/testcpp/build/* ; fi; + if [ -d fimdlp/testcpp/lcoverage ]; then rm -fr fimdlp/testcpp/lcoverage/* ; fi; test: cd fimdlp/testcpp && ./test diff --git a/fimdlp/CPPFImdlp.cpp b/fimdlp/CPPFImdlp.cpp index 4b415c6..b7ae995 100644 --- a/fimdlp/CPPFImdlp.cpp +++ b/fimdlp/CPPFImdlp.cpp @@ -267,8 +267,4 @@ namespace mdlp { { cutPoints = cutPoints_; } - indices_t CPPFImdlp::getIndices() - { - return indices; - } } diff --git a/fimdlp/cppfimdlp.cpython-310-darwin.so b/fimdlp/cppfimdlp.cpython-310-darwin.so index 60cc322931375fdc5ab8428db5da1ce5f0fe61ab..0963e6e92a4aa0bebc0ded36d1cefa279da7a62e 100755 GIT binary patch delta 22059 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 UM!V(bzIj&r3T@w?(;f@^zq3984gdfE delta 22480 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 X?4S7W%lw1j|4*XRXZbGrpYi@b6Jbg# diff --git a/fimdlp/testcpp/FImdlp_unittest.cc b/fimdlp/testcpp/FImdlp_unittest.cc index e16a47f..df90f23 100644 --- a/fimdlp/testcpp/FImdlp_unittest.cc +++ b/fimdlp/testcpp/FImdlp_unittest.cc @@ -13,6 +13,10 @@ namespace mdlp { y = { 1, 1, 1, 1, 1, 2, 2, 2, 2, 2 }; fit(X, y); } + void setProposal(bool value) + { + proposal = value; + } void initCutPoints() { setCutPoints(cutPoints_t()); @@ -150,4 +154,24 @@ namespace mdlp { computed = getCutPoints(); checkVectors(expected, computed); } + TEST_F(TestFImdlp, Constructor) + { + samples X = { 5.7, 5.3, 5.2, 5.1, 5.0, 5.6, 5.1, 6.0, 5.1, 5.9 }; + labels y = { 1, 1, 1, 1, 1, 2, 2, 2, 2, 2 }; + setProposal(false); + fit(X, y); + computeCutPointsOriginal(); + cutPoints_t expected; + vector computed = getCutPoints(); + expected = { + { 0, 4, -1, -3.4028234663852886e+38, 5.15 }, { 4, 6, -1, 5.15, 5.45 }, + { 6, 10, -1, 5.45, 3.4028234663852886e+38 } + }; + computed = getCutPoints(); + int expectedSize = expected.size(); + EXPECT_EQ(computed.size(), expected.size()); + for (auto i = 0; i < expectedSize; i++) { + EXPECT_NEAR(computed[i], expected[i].toValue, .00000001); + } + } } \ No newline at end of file