// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #include #include "../image_analysis/scale_merge/HKLKey.h" TEST_CASE("HKLKey_NoSG_noMergeFriedel") { HKLKeyGenerator hkl_key_gen(false, std::nullopt); CHECK(hkl_key_gen(-1, -2, -3) != hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(-1,-2,-3) != hkl_key_gen(1,-2,-3)); } TEST_CASE("HKLKey_NoSG_MergeFriedel") { HKLKeyGenerator hkl_key_gen(true, std::nullopt); CHECK(hkl_key_gen(-1, -2, -3) == hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(-1,-2,-3) != hkl_key_gen(1,-2,-3)); } TEST_CASE("HKLKey_SG1_MergeFriedel") { HKLKeyGenerator hkl_key_gen(true, *gemmi::find_spacegroup_by_number(1)); CHECK(hkl_key_gen(-1, -2, -3) == hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(-1,-2,-3) != hkl_key_gen(1,-2,-3)); } TEST_CASE("HKLKey_SG1_NoMergeFriedel") { HKLKeyGenerator hkl_key_gen(false, *gemmi::find_spacegroup_by_number(1)); CHECK(hkl_key_gen(-1, -2, -3) != hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(-1,-2,-3) != hkl_key_gen(1,-2,-3)); } TEST_CASE("HKLKey_SG96_MergeFriedel") { HKLKeyGenerator hkl_key_gen(true, *gemmi::find_spacegroup_by_number(96)); CHECK(hkl_key_gen(-1, -2, -3) == hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-2,1,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-1,-2,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(2,-1,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(1,-2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-1,2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(2,1,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-2, -1, -3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-2,-1,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(2, 1, 3)); } TEST_CASE("HKLKey_SG96_NoMergeFriedel") { HKLKeyGenerator hkl_key_gen(false, *gemmi::find_spacegroup_by_number(96)); CHECK(hkl_key_gen(-1, -2, -3) != hkl_key_gen(1,2,3)); CHECK(hkl_key_gen(-1,-2,-3) == hkl_key_gen(-1,-2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-2,1,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-1,-2,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(2,-1,3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(1,-2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-1,2,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(2,1,-3)); CHECK(hkl_key_gen(1,2,3) == hkl_key_gen(-2, -1, -3)); CHECK(hkl_key_gen(1,2,3) != hkl_key_gen(-2,-1,3)); CHECK(hkl_key_gen(1,2,3) != hkl_key_gen(2, 1, 3)); }