diff --git a/test/unit_test/static/CMakeLists.txt b/test/unit_test/static/CMakeLists.txt index 06aa6b1f..167aa19f 100644 --- a/test/unit_test/static/CMakeLists.txt +++ b/test/unit_test/static/CMakeLists.txt @@ -25,6 +25,7 @@ add_library(unit_tests_static custom_unit_test.cpp data_test.cpp dimension_op_test.cpp + dimensions_concepts_test.cpp # fixed_string_test.cpp math_test.cpp quantity_test.cpp diff --git a/test/unit_test/static/dimensions_concepts_test.cpp b/test/unit_test/static/dimensions_concepts_test.cpp new file mode 100644 index 00000000..27ad4969 --- /dev/null +++ b/test/unit_test/static/dimensions_concepts_test.cpp @@ -0,0 +1,109 @@ +// The MIT License (MIT) +// +// Copyright (c) 2018 Mateusz Pusz +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +using namespace units; + +static_assert(Length>); +static_assert(!Length>); + +static_assert(Mass>); +static_assert(!Mass>); + +static_assert(Time>); +static_assert(!Time>); + +static_assert(Current>); +static_assert(!Current>); + +static_assert(Temperature>); +static_assert(!Temperature>); + +static_assert(Substance>); +static_assert(!Substance>); + +static_assert(LuminousIntensity>); +static_assert(!LuminousIntensity>); + +static_assert(Frequency>); +static_assert(!Frequency>); + +static_assert(Area>); +static_assert(!Area>); + +static_assert(Volume>); +static_assert(!Volume>); + +static_assert(Velocity>); +static_assert(!Velocity>); + +static_assert(Acceleration>); +static_assert(!Acceleration>); + +static_assert(Force>); +static_assert(!Force>); + +static_assert(Energy>); +static_assert(!Energy>); + +static_assert(Power>); +static_assert(!Power>); + +static_assert(Voltage>); +static_assert(!Voltage>); + +static_assert(ElectricCharge>); +static_assert(!ElectricCharge>); + +static_assert(Capacitance>); +static_assert(!Capacitance>); + +static_assert(SurfaceTension>); +static_assert(!SurfaceTension>); + +static_assert(Pressure>); +static_assert(!Pressure>); + +}