pairinteraction
A Rydberg Interaction Calculator
Parity.test.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2024 Pairinteraction Developers
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
5
6#include <algorithm>
7#include <doctest/doctest.h>
8#include <vector>
9
10namespace pairinteraction {
11DOCTEST_TEST_CASE("compare parities") {
12 auto p1 = Parity::ODD;
13 auto p2 = Parity::EVEN;
14 auto p3 = Parity::UNKNOWN;
15 DOCTEST_CHECK(p1 < p2);
16 DOCTEST_CHECK(p2 < p3);
17}
18
19DOCTEST_TEST_CASE("print parities") {
20 auto p1 = Parity::ODD;
21 auto p2 = Parity::EVEN;
22 auto p3 = Parity::UNKNOWN;
23 DOCTEST_MESSAGE("Parity: ", p1);
24 DOCTEST_MESSAGE("Parity: ", p2);
25
26 std::ostream os(nullptr);
27 CHECK_THROWS_AS(os << p3, std::runtime_error);
28}
29
30DOCTEST_TEST_CASE("sort parities") {
31 std::vector<Parity> parities{Parity::UNKNOWN, Parity::EVEN, Parity::ODD};
32 std::sort(parities.begin(), parities.end());
33 DOCTEST_CHECK(parities[0] == Parity::ODD);
34 DOCTEST_CHECK(parities[1] == Parity::EVEN);
35 DOCTEST_CHECK(parities[2] == Parity::UNKNOWN);
36}
37} // namespace pairinteraction
DOCTEST_TEST_CASE("create a basis for strontium 88")