Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[FIX] Braces around scalar initializer
Clang in CPP20 mode emits bogus warnings for seqan3::pod_tuple
  • Loading branch information
eseiler committed Sep 29, 2023
commit 13c900dcc625ccc66d55169c56f7aca676e86350
2 changes: 1 addition & 1 deletion include/seqan3/argument_parser/argument_parser.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -773,7 +773,7 @@ class argument_parser
{
if (argv_len <= i + 1)
throw too_few_arguments{"Option --export-help must be followed by a value."};
export_format = {argv[i + 1]};
export_format = argv[i + 1];
}

if (export_format == "html")
Expand Down
13 changes: 12 additions & 1 deletion include/seqan3/utility/tuple/split.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,21 @@ template <size_t beg, template <typename...> typename tuple_t, size_t... Is, typ
requires tuple_like<tuple_t<ts...>> && tuple_like<tuple_t<>>
constexpr auto tuple_split(tuple_t<ts...> const & t, std::index_sequence<Is...> const & SEQAN3_DOXYGEN_ONLY(idx))
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-braces"
return tuple_t<std::tuple_element_t<beg + Is, tuple_t<ts...>>...>{std::get<beg + Is>(t)...};
#pragma GCC diagnostic pop
}

//!\copydoc seqan3::detail::tuple_split
template <size_t beg, template <typename...> typename tuple_t, size_t... Is, typename... ts>
requires tuple_like<tuple_t<ts...>> && tuple_like<tuple_t<>>
constexpr auto tuple_split(tuple_t<ts...> && t, std::index_sequence<Is...> const & SEQAN3_DOXYGEN_ONLY(idx))
{
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-braces"
return tuple_t<std::tuple_element_t<beg + Is, tuple_t<ts...>>...>{std::move(std::get<beg + Is>(t))...};
#pragma GCC diagnostic pop
}
} // namespace seqan3::detail

Expand Down Expand Up @@ -85,8 +91,11 @@ constexpr auto tuple_split(tuple_t<ts...> const & t)
{
static_assert(pivot_c <= sizeof...(ts));

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-braces"
return tuple_t{detail::tuple_split<0>(t, std::make_index_sequence<pivot_c>{}),
detail::tuple_split<pivot_c>(t, std::make_index_sequence<sizeof...(ts) - pivot_c>{})};
#pragma GCC diagnostic pop
}

//!\copydoc seqan3::tuple_split
Expand All @@ -95,9 +104,11 @@ template <size_t pivot_c, template <typename...> typename tuple_t, typename... t
constexpr auto tuple_split(tuple_t<ts...> && t)
{
static_assert(pivot_c <= sizeof...(ts));

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-braces"
return tuple_t{detail::tuple_split<0>(std::move(t), std::make_index_sequence<pivot_c>{}),
detail::tuple_split<pivot_c>(std::move(t), std::make_index_sequence<sizeof...(ts) - pivot_c>{})};
#pragma GCC diagnostic pop
}

/*!\brief Splits a tuple like data structure at the first position of the given type.
Expand Down
2 changes: 1 addition & 1 deletion test/unit/argument_parser/detail/format_help_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ std::string const basic_version_str = "VERSION\n"

std::string license_text()
{
std::ifstream license_file{std::string{{SEQAN3_TEST_LICENSE_DIR}} + "/LICENSE.md"};
std::ifstream license_file{std::string{SEQAN3_TEST_LICENSE_DIR} + "/LICENSE.md"};
EXPECT_TRUE(license_file) << "Could not open file '" SEQAN3_TEST_LICENSE_DIR "/LICENSE.md'";
std::stringstream buffer;
buffer << license_file.rdbuf();
Expand Down
100 changes: 50 additions & 50 deletions test/unit/io/sequence_file/sequence_file_format_fastq_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,69 +109,69 @@ struct read : public sequence_file_data

TEST_F(read, newline_before_eof)
{
input = {"@ID1\n"
"ACGTTTTTTTTTTTTTTT\n"
"+\n"
"!##$%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTTTA\n"
"+\n"
"!!!!!!!"};
input = "@ID1\n"
"ACGTTTTTTTTTTTTTTT\n"
"+\n"
"!##$%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTTTA\n"
"+\n"
"!!!!!!!";
do_read_test(input);
}

TEST_F(read, whitespace_in_seq_qual)
{
input = {"@ID1\n"
"ACGTTTTTTTT\nTTTTTTT\n"
"+\n"
"!##$\n%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTT\r\nTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBD\nEBDEB\nDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTT\nTA\n"
"+\n"
"!!!!!\n!!\n"};
input = "@ID1\n"
"ACGTTTTTTTT\nTTTTTTT\n"
"+\n"
"!##$\n%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTT\r\nTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBD\nEBDEB\nDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTT\nTA\n"
"+\n"
"!!!!!\n!!\n";
do_read_test(input);
}

TEST_F(read, double_id_style)
{
input = {"@ID1\n"
"ACGTTTTTTTTTTTTTTT\n"
"+ID1\n"
"!##$%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n"
"+ID2\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTTTA\n"
"+ID3 lala\n"
"!!!!!!!\n"};
input = "@ID1\n"
"ACGTTTTTTTTTTTTTTT\n"
"+ID1\n"
"!##$%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n"
"+ID2\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTTTA\n"
"+ID3 lala\n"
"!!!!!!!\n";
do_read_test(input);
}

TEST_F(read, mixed_issues)
{
input = {"@ID1\n"
"ACGTTTTTTTT\nTTTTTTT\n"
"+\n"
"!##$\n%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTT\r\nTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBD\nEBDEB\nDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTT\nTA\n"
"+ID3 lala\n"
"!!!!!\n!!"};
input = "@ID1\n"
"ACGTTTTTTTT\nTTTTTTT\n"
"+\n"
"!##$\n%&'()*+,-./++-\n"
"@ID2\n"
"ACGTTTTTTTTTT\r\nTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\r\nTTTTTTTTTTTTTTTTTTTTTTT\n"
"+\n"
"!##$&'()*+,-./+)*+,-)*+,-)*+,-)*+,BDEBDEBD\nEBDEB\nDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDEBDE\n"
"@ID3 lala\n"
"ACGTT\nTA\n"
"+ID3 lala\n"
"!!!!!\n!!";
do_read_test(input);
}

Expand All @@ -188,8 +188,8 @@ TEST_F(read, only_qual)
//TODO fail_no_2nd_id
TEST_F(read, fail_no_seq_after_id)
{
std::stringstream istream{input = {"@ID1\n"
"ACGTTTTTTTTTTTTTTT"}};
std::stringstream istream{input = "@ID1\n"
"ACGTTTTTTTTTTTTTTT"};

seqan3::sequence_file_input fin{istream, seqan3::format_fastq{}};
EXPECT_THROW(fin.begin(), seqan3::unexpected_end_of_input);
Expand Down
114 changes: 57 additions & 57 deletions test/unit/io/structure_file/format_vienna_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,68 +140,68 @@ TEST_F(read, standard)

TEST_F(read, newline_before_eof)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)";
do_read_test(input);
}

TEST_F(read, whitespace_in_seq)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCU CAGUUGGGAGAGCGCCAGACU GAAGAUUUGGAGGUC CUGUGUUCGAUCCACA GAAUU CGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUAC ACAACCUGUACAC UCUUUC \n"
"..(((((..(((...)))..)))))... (-3.71)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCU CAGUUGGGAGAGCGCCAGACU GAAGAUUUGGAGGUC CUGUGUUCGAUCCACA GAAUU CGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUAC ACAACCUGUACAC UCUUUC \n"
"..(((((..(((...)))..)))))... (-3.71)\n";
do_read_test(input);
}

TEST_F(read, no_energies)
{
check_energy = false;
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))...\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))...\n";
do_read_test(input);
}

TEST_F(read, no_ids)
{
check_id = false;
input = {"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)\n"};
input = "GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)\n";
do_read_test(input);
}

TEST_F(read, spaces_and_carriage_return)
{
check_id = false;
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\r\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\r\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.5)\r\n"
">example 2\r\n"
"UUGGAGUA CACAACCUGUACA CUCU UUC \r\n"
"..(((((..(((...)))..)))))... ( -3.71 )\r\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\r\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\r\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.5)\r\n"
">example 2\r\n"
"UUGGAGUA CACAACCUGUACA CUCU UUC \r\n"
"..(((((..(((...)))..)))))... ( -3.71 )\r\n";
do_read_test(input);
}

TEST_F(read, options_truncate_ids)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"
"..(((((..(((...)))..)))))... (-3.71)\n";

options.truncate_ids = true;
expected_id = {"S.cerevisiae_tRNA-PHE", "example"};
Expand Down Expand Up @@ -280,78 +280,78 @@ TEST_F(read_fail, wrong_id)

TEST_F(read_fail, missing_seq)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, missing_structure)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"> example 2\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, missing_structure_and_id)
{
input = {"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n"};
input = "GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"UUGGAGUACACAACCUGUACACUCUUUC\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, structure_too_long)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).. (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).. (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, structure_too_short)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))) (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))) (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, structure_too_long_structured_seq)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).. (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))).. (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}, seqan3::fields<seqan3::field::structured_seq>{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, structure_too_short_structured_seq)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))) (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))) (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}, seqan3::fields<seqan3::field::structured_seq>{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
}

TEST_F(read_fail, wrong_char)
{
input = {"> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUICUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n"};
input = "> S.cerevisiae_tRNA-PHE M10740/1-73\n"
"GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUUUGGAGGUICUGUGUUCGAUCCACAGAAUUCGCA\n"
"(((((((..((((........)))).((((.........)))).....(((((.......)))))))))))). (-17.50)\n";
std::stringstream istream{input};
seqan3::structure_file_input fin{istream, seqan3::format_vienna{}};
EXPECT_THROW(fin.begin(), seqan3::parse_error);
Expand Down
Loading