From 3b751dfedfc803f48a9d3dbee97de29bf8b7e721 Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Sat, 23 Jan 2021 11:40:46 +0100
Subject: [PATCH] Remove constructors from list of vectors

---
 src/analysis/PolynomialBasis.hpp      | 17 +++++++++--------
 src/language/modules/SchemeModule.hpp |  4 ++--
 tests/test_PolynomialBasis.cpp        |  6 ++----
 3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/analysis/PolynomialBasis.hpp b/src/analysis/PolynomialBasis.hpp
index 4359f408d..84b223fd7 100644
--- a/src/analysis/PolynomialBasis.hpp
+++ b/src/analysis/PolynomialBasis.hpp
@@ -7,6 +7,7 @@
 
 enum class BasisType
 {
+  undefined,
   lagrange,
   canonical,
   taylor
@@ -104,6 +105,8 @@ class PolynomialBasis
       return "canonical";
     case BasisType::taylor:
       return "taylor";
+    case BasisType::undefined:
+      return "undefined";
     default:
       return "unknown basis type";
     }
@@ -141,19 +144,17 @@ class PolynomialBasis
       return _buildTaylorBasis(shift);
       break;
     }
-    default:
+      // LCOV_EXCL_START
+    default: {
       throw UnexpectedError("unknown basis type");
     }
+      // LCOV_EXCL_STOP
+    }
   }
-  PUGS_INLINE constexpr PolynomialBasis(const TinyVector<N + 1, Polynomial<N>>& elements) noexcept
-    : m_elements{elements}
-  {}
 
   PUGS_INLINE
-  constexpr PolynomialBasis(TinyVector<N + 1, Polynomial<N>>&& elements) noexcept : m_elements{elements} {}
+  constexpr PolynomialBasis() noexcept : m_basis_type{BasisType::undefined} {}
 
-  PUGS_INLINE
-  constexpr PolynomialBasis() noexcept = default;
-  ~PolynomialBasis()                   = default;
+  ~PolynomialBasis() = default;
 };
 #endif   // POLYNOMIAL_BASIS_HPP
diff --git a/src/language/modules/SchemeModule.hpp b/src/language/modules/SchemeModule.hpp
index 963ed4af0..aa0f13226 100644
--- a/src/language/modules/SchemeModule.hpp
+++ b/src/language/modules/SchemeModule.hpp
@@ -17,8 +17,8 @@ inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const IBoundaryCo
   ASTNodeDataType::build<ASTNodeDataType::type_id_t>("boundary_condition");
 
 template <>
-inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const BasisType>> = {ASTNodeDataType::type_id_t,
-                                                                                    "basis_type"};
+inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const BasisType>> =
+  ASTNodeDataType::build<ASTNodeDataType::type_id_t>("basis_type");
 
 class SchemeModule : public BuiltinModule
 {
diff --git a/tests/test_PolynomialBasis.cpp b/tests/test_PolynomialBasis.cpp
index ae3745553..ac34fca34 100644
--- a/tests/test_PolynomialBasis.cpp
+++ b/tests/test_PolynomialBasis.cpp
@@ -21,9 +21,7 @@ TEST_CASE("PolynomialBasis", "[analysis]")
 {
   SECTION("construction")
   {
-    TinyVector<3, Polynomial<2>> elements;
-    REQUIRE_NOTHROW(PolynomialBasis<2>(elements));
-    REQUIRE_NOTHROW(PolynomialBasis<2>());
+    REQUIRE_NOTHROW(PolynomialBasis<2>{});
   }
   SECTION("size")
   {
@@ -34,7 +32,7 @@ TEST_CASE("PolynomialBasis", "[analysis]")
   SECTION("build")
   {
     PolynomialBasis<2> B;
-    REQUIRE(B.displayType() == "unknown basis type");
+    REQUIRE(B.displayType() == "undefined");
     B.build(BasisType::canonical);
     REQUIRE(B.elements()[1] == Polynomial<2>{{0, 1, 0}});
     REQUIRE(B.elements()[2] == Polynomial<2>{{0, 0, 1}});
-- 
GitLab