From 836880c3a16c806d68f265c2865d9eb2fc3e4c65 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 11 Feb 2025 20:58:53 +0100 Subject: [PATCH] test: quantity character concepts tests for quantities added --- test/static/concepts_test.cpp | 44 ++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/test/static/concepts_test.cpp b/test/static/concepts_test.cpp index 7f1ccf10..e7113bbc 100644 --- a/test/static/concepts_test.cpp +++ b/test/static/concepts_test.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include #include #if MP_UNITS_HOSTED @@ -504,19 +504,47 @@ static_assert(!QuantityPointLike>); static_assert(!QuantityPointLike>); static_assert(!QuantityPointLike); -// Quantity Characters +// Quantity Character Concepts +#if MP_UNITS_HOSTED +// TODO provide support for the below when quantity specifications expressions are done static_assert(detail::Scalar>); static_assert(detail::Scalar>); -static_assert(!detail::Scalar>); -static_assert(!detail::Scalar>); static_assert(detail::Scalar>); static_assert(detail::Scalar>); -// TODO provide support for the below when quantity specifications expressions are done +// static_assert(detail::Scalar>>); + +static_assert(!detail::Scalar>>); +static_assert(!detail::Scalar>>); +static_assert(!detail::Scalar>>); +static_assert(!detail::Scalar>); +static_assert(!detail::Scalar>); + +static_assert(detail::RealScalar>); +static_assert(detail::RealScalar>); +static_assert(detail::RealScalar>); +static_assert(detail::RealScalar>); +// static_assert(!detail::RealScalar>); +static_assert(!detail::RealScalar>>); + +static_assert(!detail::ComplexScalar>); +static_assert(!detail::ComplexScalar>); +static_assert(!detail::ComplexScalar>); +static_assert(!detail::ComplexScalar>); +static_assert(!detail::ComplexScalar>); +// static_assert(detail::ComplexScalar>>); + +// static_assert(detail::Vector>); +// static_assert(detail::Vector>); +// static_assert(detail::Vector>); +static_assert(!detail::Vector>); // static_assert(detail::Vector>); -#if MP_UNITS_HOSTED -// static_assert(detail::Vector>>); -// static_assert(detail::Complex, std::complex>); +static_assert(!detail::Vector>>); +// static_assert(detail::Vector, cartesian_vector>); +// static_assert(detail::Vector>>); +// static_assert(detail::Vector, cartesian_vector>); +// static_assert(detail::Vector>>); + #endif } // namespace