1010#include < seqan3/alphabet/nucleotide/concept.hpp>
1111
1212template <typename t>
13- using nucleotide = ::testing::Test;
13+ struct nucleotide : public ::testing::Test
14+ {
15+ // Do not check the `trivial` concept, because `t` is a third party class and not trivial.
16+ static constexpr bool skip_trivial_thirdparty = false ;
17+ };
1418
1519TYPED_TEST_SUITE_P (nucleotide);
1620
1721TYPED_TEST_P (nucleotide, concept_check)
1822{
19- EXPECT_TRUE (seqan3::trivial<TypeParam>);
23+ if constexpr (!TestFixture::skip_trivial_thirdparty)
24+ {
25+ EXPECT_TRUE (seqan3::trivial<TypeParam>);
26+ }
2027
2128 EXPECT_TRUE (seqan3::nucleotide_alphabet<TypeParam>);
2229 EXPECT_TRUE (seqan3::nucleotide_alphabet<TypeParam &>);
@@ -26,10 +33,10 @@ TYPED_TEST_P(nucleotide, concept_check)
2633
2734TYPED_TEST_P (nucleotide, complement)
2835{
29- EXPECT_EQ (seqan3::complement (TypeParam{}. assign_char (' A' )) , TypeParam{}. assign_char (' T' ));
30- EXPECT_EQ (seqan3::complement (TypeParam{}. assign_char (' C' )) , TypeParam{}. assign_char (' G' ));
31- EXPECT_EQ (seqan3::complement (TypeParam{}. assign_char (' G' )) , TypeParam{}. assign_char (' C' ));
32- EXPECT_EQ (seqan3::complement (TypeParam{}. assign_char (' T' )) , TypeParam{}. assign_char (' A' ));
36+ EXPECT_EQ (seqan3::complement (seqan3::assign_char_to (' A' , TypeParam{})), seqan3::assign_char_to (' T' , TypeParam{} ));
37+ EXPECT_EQ (seqan3::complement (seqan3::assign_char_to (' C' , TypeParam{})), seqan3::assign_char_to (' G' , TypeParam{} ));
38+ EXPECT_EQ (seqan3::complement (seqan3::assign_char_to (' G' , TypeParam{})), seqan3::assign_char_to (' C' , TypeParam{} ));
39+ EXPECT_EQ (seqan3::complement (seqan3::assign_char_to (' T' , TypeParam{})), seqan3::assign_char_to (' A' , TypeParam{} ));
3340
3441 using vsize_t = std::decay_t <decltype (seqan3::alphabet_size<TypeParam>)>;
3542
0 commit comments