From 202a2b08237eaf160e50f77be5079b10239504bd Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Thu, 7 May 2020 09:25:34 +0200 Subject: [PATCH] Missing dimension concepts tests added --- src/include/units/physical/dimensions.h | 8 +- .../static/dimensions_concepts_test.cpp | 87 ++++++++++++++----- 2 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/include/units/physical/dimensions.h b/src/include/units/physical/dimensions.h index 73301b1a..25253822 100644 --- a/src/include/units/physical/dimensions.h +++ b/src/include/units/physical/dimensions.h @@ -122,6 +122,7 @@ struct dim_inductance : derived_dimension, exp> {}; template R> struct dim_conductance : derived_dimension> {}; +// TODO Add when downcasting issue is solved // template T> // struct dim_radioactivity : derived_dimension> {}; @@ -155,8 +156,9 @@ struct dim_molar_heat_capacity : derived_dimension, exp P, DimensionOf L, DimensionOf T> struct dim_thermal_conductivity : derived_dimension, exp, exp> {}; -template E, DimensionOf L> -struct dim_energy_density : derived_dimension, exp> {}; +// TODO Add when downcasting issue is solved +// template E, DimensionOf L> +// struct dim_energy_density : derived_dimension, exp> {}; template V, DimensionOf L> struct dim_electric_field_strength : derived_dimension, exp> {}; @@ -256,6 +258,7 @@ concept Inductance = physical::QuantityOf; template concept Conductance = physical::QuantityOf; +// TODO Add when downcasting issue is solved // template // concept Radioactivity = physical::QuantityOf; @@ -289,6 +292,7 @@ concept MolarHeatCapacity = physical::QuantityOf concept ThermalConductivity = physical::QuantityOf; +// TODO Add when downcasting issue is solved // template // concept EnergyDensity = physical::QuantityOf; diff --git a/test/unit_test/static/dimensions_concepts_test.cpp b/test/unit_test/static/dimensions_concepts_test.cpp index 63e95727..c70dcbaa 100644 --- a/test/unit_test/static/dimensions_concepts_test.cpp +++ b/test/unit_test/static/dimensions_concepts_test.cpp @@ -21,27 +21,7 @@ // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include namespace { @@ -110,4 +90,69 @@ static_assert(!Pressure>); static_assert(MagneticInduction>); static_assert(!MagneticInduction>); +static_assert(MagneticFlux>); +static_assert(!MagneticFlux>); + +static_assert(Inductance>); +static_assert(!Inductance>); + +static_assert(Conductance>); +static_assert(!Conductance>); + +// TODO Add when downcasting issue is solved +// static_assert(Radioactivity>); +// static_assert(!Radioactivity>); + +static_assert(CatalyticActivity>); +static_assert(!CatalyticActivity>); + +static_assert(AbsorbedDose>); +static_assert(!AbsorbedDose>); + +static_assert(CurrentDensity>); +static_assert(!CurrentDensity>); + +static_assert(Concentration>); +static_assert(!Concentration>); + +static_assert(Luminance>); +static_assert(!Luminance>); + +static_assert(DynamicViscosity>); +static_assert(!DynamicViscosity>); + +static_assert(HeatCapacity>); +static_assert(!HeatCapacity>); + +static_assert(SpecificHeatCapacity>); +static_assert(!SpecificHeatCapacity>); + +static_assert(MolarHeatCapacity>); +static_assert(!MolarHeatCapacity>); + +static_assert(ThermalConductivity>); +static_assert(!ThermalConductivity>); + +// TODO Add when downcasting issue is solved +// static_assert(EnergyDensity>); +// static_assert(!EnergyDensity>); + +static_assert(ElectricFieldStrength>); +static_assert(!ElectricFieldStrength>); + +static_assert(ChargeDensity>); +static_assert(!ChargeDensity>); + +static_assert(SurfaceChargeDensity>); +static_assert(!SurfaceChargeDensity>); + +static_assert(Permittivity>); +static_assert(!Permittivity>); + +static_assert(Permeability>); +static_assert(!Permeability>); + +static_assert(MolarEnergy>); +static_assert(!MolarEnergy>); + }