Line data Source code
1 : // SPDX-FileCopyrightText: 2024 Pairinteraction Developers 2 : // SPDX-License-Identifier: LGPL-3.0-or-later 3 : 4 : #include "pairinteraction/enums/Parity.hpp" 5 : 6 : #include <algorithm> 7 : #include <doctest/doctest.h> 8 : #include <vector> 9 : 10 : namespace pairinteraction { 11 1 : DOCTEST_TEST_CASE("compare parities") { 12 1 : auto p1 = Parity::ODD; 13 1 : auto p2 = Parity::EVEN; 14 1 : auto p3 = Parity::UNKNOWN; 15 1 : DOCTEST_CHECK(p1 < p2); 16 1 : DOCTEST_CHECK(p2 < p3); 17 1 : } 18 : 19 1 : DOCTEST_TEST_CASE("print parities") { 20 1 : auto p1 = Parity::ODD; 21 1 : auto p2 = Parity::EVEN; 22 1 : auto p3 = Parity::UNKNOWN; 23 1 : DOCTEST_MESSAGE("Parity: ", p1); 24 1 : DOCTEST_MESSAGE("Parity: ", p2); 25 : 26 1 : std::ostream os(nullptr); 27 1 : CHECK_THROWS_AS(os << p3, std::runtime_error); 28 1 : } 29 : 30 1 : DOCTEST_TEST_CASE("sort parities") { 31 1 : std::vector<Parity> parities{Parity::UNKNOWN, Parity::EVEN, Parity::ODD}; 32 1 : std::sort(parities.begin(), parities.end()); 33 1 : DOCTEST_CHECK(parities[0] == Parity::ODD); 34 1 : DOCTEST_CHECK(parities[1] == Parity::EVEN); 35 1 : DOCTEST_CHECK(parities[2] == Parity::UNKNOWN); 36 1 : } 37 : } // namespace pairinteraction