From 05d4f36fa30e991dbd59b86dad7f21e0ac3cc2a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 4 Feb 2022 15:27:51 +0100
Subject: [PATCH] Add tests for quadrature descriptors

---
 tests/CMakeLists.txt                             |  3 +++
 tests/test_GaussLegendreQuadratureDescriptor.cpp | 16 ++++++++++++++++
 tests/test_GaussLobattoQuadratureDescriptor.cpp  | 16 ++++++++++++++++
 tests/test_GaussQuadratureDescriptor.cpp         | 16 ++++++++++++++++
 4 files changed, 51 insertions(+)
 create mode 100644 tests/test_GaussLegendreQuadratureDescriptor.cpp
 create mode 100644 tests/test_GaussLobattoQuadratureDescriptor.cpp
 create mode 100644 tests/test_GaussQuadratureDescriptor.cpp

diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index b0f153724..18d565692 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -93,6 +93,9 @@ add_executable (unit_tests
   test_FunctionProcessor.cpp
   test_FunctionSymbolId.cpp
   test_FunctionTable.cpp
+  test_GaussLegendreQuadratureDescriptor.cpp
+  test_GaussLobattoQuadratureDescriptor.cpp
+  test_GaussQuadratureDescriptor.cpp
   test_IfProcessor.cpp
   test_IncDecExpressionProcessor.cpp
   test_INodeProcessor.cpp
diff --git a/tests/test_GaussLegendreQuadratureDescriptor.cpp b/tests/test_GaussLegendreQuadratureDescriptor.cpp
new file mode 100644
index 000000000..8c28ee825
--- /dev/null
+++ b/tests/test_GaussLegendreQuadratureDescriptor.cpp
@@ -0,0 +1,16 @@
+#include <catch2/catch_test_macros.hpp>
+#include <catch2/matchers/catch_matchers_all.hpp>
+
+#include <analysis/GaussLegendreQuadratureDescriptor.hpp>
+
+// clazy:excludeall=non-pod-global-static
+
+TEST_CASE("GaussLegendreQuadratureDescriptor", "[analysis]")
+{
+  GaussLegendreQuadratureDescriptor quadrature_descriptor(3);
+
+  REQUIRE(quadrature_descriptor.isTensorial() == true);
+  REQUIRE(quadrature_descriptor.type() == QuadratureType::GaussLegendre);
+  REQUIRE(quadrature_descriptor.degree() == 3);
+  REQUIRE(quadrature_descriptor.name() == ::name(QuadratureType::GaussLegendre) + "(3)");
+}
diff --git a/tests/test_GaussLobattoQuadratureDescriptor.cpp b/tests/test_GaussLobattoQuadratureDescriptor.cpp
new file mode 100644
index 000000000..fe5430735
--- /dev/null
+++ b/tests/test_GaussLobattoQuadratureDescriptor.cpp
@@ -0,0 +1,16 @@
+#include <catch2/catch_test_macros.hpp>
+#include <catch2/matchers/catch_matchers_all.hpp>
+
+#include <analysis/GaussLobattoQuadratureDescriptor.hpp>
+
+// clazy:excludeall=non-pod-global-static
+
+TEST_CASE("GaussLobattoQuadratureDescriptor", "[analysis]")
+{
+  GaussLobattoQuadratureDescriptor quadrature_descriptor(3);
+
+  REQUIRE(quadrature_descriptor.isTensorial() == true);
+  REQUIRE(quadrature_descriptor.type() == QuadratureType::GaussLobatto);
+  REQUIRE(quadrature_descriptor.degree() == 3);
+  REQUIRE(quadrature_descriptor.name() == ::name(QuadratureType::GaussLobatto) + "(3)");
+}
diff --git a/tests/test_GaussQuadratureDescriptor.cpp b/tests/test_GaussQuadratureDescriptor.cpp
new file mode 100644
index 000000000..033ac7b4a
--- /dev/null
+++ b/tests/test_GaussQuadratureDescriptor.cpp
@@ -0,0 +1,16 @@
+#include <catch2/catch_test_macros.hpp>
+#include <catch2/matchers/catch_matchers_all.hpp>
+
+#include <analysis/GaussQuadratureDescriptor.hpp>
+
+// clazy:excludeall=non-pod-global-static
+
+TEST_CASE("GaussQuadratureDescriptor", "[analysis]")
+{
+  GaussQuadratureDescriptor quadrature_descriptor(3);
+
+  REQUIRE(quadrature_descriptor.isTensorial() == false);
+  REQUIRE(quadrature_descriptor.type() == QuadratureType::Gauss);
+  REQUIRE(quadrature_descriptor.degree() == 3);
+  REQUIRE(quadrature_descriptor.name() == ::name(QuadratureType::Gauss) + "(3)");
+}
-- 
GitLab