From 4a0547cff59f67458b5219396112cee12cb73bc5 Mon Sep 17 00:00:00 2001 From: mancini <mancini@astron.nl> Date: Thu, 9 Nov 2023 16:47:21 +0100 Subject: [PATCH] Add unittests for RCUMode --- aartfaacreader/test/unit/tRCUMode.cc | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 aartfaacreader/test/unit/tRCUMode.cc diff --git a/aartfaacreader/test/unit/tRCUMode.cc b/aartfaacreader/test/unit/tRCUMode.cc new file mode 100644 index 000000000..9177c17d0 --- /dev/null +++ b/aartfaacreader/test/unit/tRCUMode.cc @@ -0,0 +1,52 @@ +#include <boost/test/unit_test.hpp> +#include <boost/test/data/test_case.hpp> +#include <aartfaacreader/RCUMode.h> + +BOOST_AUTO_TEST_SUITE(aartfaacreader) +namespace dp3::aartfaacreader { +BOOST_AUTO_TEST_CASE(create_from_mode_number) { + BOOST_CHECK_EQUAL(RCUMode::FromNumber(0).mode, RCUMode::Unused); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(1).mode, RCUMode::LBAOuter10_90); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(2).mode, RCUMode::LBAOuter30_90); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(3).mode, RCUMode::LBAInner10_90); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(4).mode, RCUMode::LBAInner30_90); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(5).mode, RCUMode::HBA110_190); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(6).mode, RCUMode::HBA170_230); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(7).mode, RCUMode::HBA210_270); + + BOOST_CHECK_THROW(RCUMode::FromNumber(-1).Bandwidth(), std::runtime_error); + + BOOST_CHECK_THROW(RCUMode::FromNumber(50).Bandwidth(), std::runtime_error); +} + +BOOST_AUTO_TEST_CASE(check_frequency_and_bandwidth) { + BOOST_CHECK_EQUAL(RCUMode::FromNumber(1).CentralFrequency(), 50.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(2).CentralFrequency(), 60.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(3).CentralFrequency(), 50.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(4).CentralFrequency(), 60.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(5).CentralFrequency(), 150.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(6).CentralFrequency(), 200.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(7).CentralFrequency(), 240.); + + BOOST_CHECK_EQUAL(RCUMode::FromNumber(1).Bandwidth(), 195312.5); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(2).Bandwidth(), 195312.5); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(3).Bandwidth(), 195312.5); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(4).Bandwidth(), 195312.5); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(5).Bandwidth(), 195312.5); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(6).Bandwidth(), 156250.); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(7).Bandwidth(), 195312.5); + + BOOST_CHECK_THROW(RCUMode::FromNumber(0).Bandwidth(), std::runtime_error); + BOOST_CHECK_THROW(RCUMode::FromNumber(-1).Bandwidth(), std::runtime_error); + BOOST_CHECK_THROW(RCUMode::FromNumber(50).Bandwidth(), std::runtime_error); +} + +BOOST_AUTO_TEST_CASE(check_antenna_type) { + BOOST_CHECK_EQUAL(RCUMode::FromNumber(1).AntennaType(), "LBA"); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(7).AntennaType(), "HBA"); + BOOST_CHECK_EQUAL(RCUMode::FromNumber(10).AntennaType(), "?"); +} + +} // namespace dp3::aartfaacreader + +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file -- GitLab