From 8c4ff3acbc73d68c2e464e84dc297c839faf1d8a Mon Sep 17 00:00:00 2001 From: Simon Sasse Date: Mon, 12 Oct 2020 12:04:54 +0200 Subject: [PATCH] [TEST] Adding cli tests for detect_breakends. --- test/cli/CMakeLists.txt | 3 + test/cli/detect_breakends_cli_test.cpp | 87 ++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 test/cli/detect_breakends_cli_test.cpp diff --git a/test/cli/CMakeLists.txt b/test/cli/CMakeLists.txt index 39060a98..61e3237c 100644 --- a/test/cli/CMakeLists.txt +++ b/test/cli/CMakeLists.txt @@ -3,5 +3,8 @@ cmake_minimum_required (VERSION 3.8) add_cli_test (fastq_to_fasta_options_test.cpp) target_use_datasources (fastq_to_fasta_options_test FILES in.fastq) +add_cli_test(detect_breakends_cli_test.cpp) +add_dependencies (detect_breakends_cli_test "detect_breakends") +target_use_datasources (detect_breakends_cli_test FILES converted_bam_shorted.sam) # add_cli_test (iGenVar_options_test.cpp) # target_use_datasources (iGenVar_options_test FILES in.fastq) diff --git a/test/cli/detect_breakends_cli_test.cpp b/test/cli/detect_breakends_cli_test.cpp new file mode 100644 index 00000000..25d3c269 --- /dev/null +++ b/test/cli/detect_breakends_cli_test.cpp @@ -0,0 +1,87 @@ +#include +#include + +#include "cli_test.hpp" + +TEST_F(cli_test, no_options) +{ + cli_test_result result = execute_app("detect_breakends"); + std::string expected + { + "detectJunctions - Detect junctions in a read alignment file\n" + "===========================================================\n" + " Try -h or --help for more information.\n" + }; + EXPECT_EQ(result.exit_code, 0); + EXPECT_EQ(result.out, expected); + EXPECT_EQ(result.err, std::string{}); +} + +TEST_F(cli_test, fail_no_argument) +{ + cli_test_result result = execute_app("detect_breakends", "-v"); + std::string expected + { + "[Error] Unknown option -v. In case this is meant to be a non-option/argument/parameter, please specify " + "the start of non-options with '--'. See -h/--help for program information.\n" + }; + EXPECT_NE(result.exit_code, 0); + EXPECT_EQ(result.out, std::string{}); + EXPECT_EQ(result.err, expected); +} + +TEST_F(cli_test, with_arguments) +{ + cli_test_result result = execute_app("detect_breakends", + data("converted_bam_shorted.sam"), + "detect_breakends_out_short_10.fasta"); + std::string expected + { + "Reference\tchr9\t70103073\tForward\tReference\tchr9\t70103147\tForward\tm13802/6999/CCS\n" + }; + std::string expected_err + { + "DEL: Reference\tchr9\t70103073\tForward\tReference\tchr9\t70103147\tForward\tm13802/6999/CCS\nDone. Found 1 junctions.\n" + }; + EXPECT_EQ(result.exit_code, 0); + EXPECT_EQ(result.out, expected); + EXPECT_EQ(result.err, expected_err); +} + +// There is no verbose mode for "detect_breakends". +// +// TEST_F(cli_test, with_argument_verbose) +// { +// cli_test_result result = execute_app("detect_breakends", +// data("converted_bam_shorted.sam"), +// data("detect_breakends_out_short_10.fasta"), +// "-v"); +// EXPECT_EQ(result.exit_code, 0); +// EXPECT_EQ(result.out, result); +// EXPECT_EQ(result.err, "Conversion was a success. Congrats!\n"); +// } +// +// there is no file output option for "detect_breakends" +// +// TEST_F(cli_test, with_out_file) +// { +// cli_test_result result = execute_app("detect_breakends", +// data("converted_bam_shorted.sam"), +// data("detect_breakends_out_short_10.fasta"), +// ); +// seqan3::sequence_file_input fin{"out.fasta", seqan3::fields{}}; +// +// // create records to compare +// using record_type = typename decltype(fin)::record_type; +// using seqan3::operator""_dna5; +// std::vector records{}; +// records.emplace_back("ACGTTTGATTCGCG"_dna5, std::string{"seq1"}); +// records.emplace_back("TCGGGGGATTCGCG"_dna5, std::string{"seq2"}); +// +// EXPECT_RANGE_EQ(fin, records); +// EXPECT_EQ(result.exit_code, 0); +// EXPECT_EQ(result.out, std::string{}); +// EXPECT_EQ(result.err, std::string{}); +// } +// +