]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/test/api/BamMultiReader/BamMultiReaderFileOpsTest.h
Initial test suite commit
[bamtools.git] / src / test / api / BamMultiReader / BamMultiReaderFileOpsTest.h
diff --git a/src/test/api/BamMultiReader/BamMultiReaderFileOpsTest.h b/src/test/api/BamMultiReader/BamMultiReaderFileOpsTest.h
new file mode 100644 (file)
index 0000000..aba2b7c
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef BAMMULTIREADER_FILEOPSTEST_H
+#define BAMMULTIREADER_FILEOPSTEST_H
+
+#include "api/BamMultiReader.h"
+#include <gtest/gtest.h>
+
+#include <iostream>
+#include <string>
+#include <vector>
+
+TEST(BamMultiReaderFileOpsTest, Defaults) {
+
+    BamTools::BamMultiReader reader;
+
+    EXPECT_FALSE(reader.HasOpenReaders());
+    EXPECT_FALSE(reader.HasIndexes());
+    std::vector<std::string> filenames = reader.Filenames();
+    EXPECT_EQ(0, (int)filenames.size());
+    EXPECT_EQ("", reader.GetHeaderText());
+    EXPECT_EQ(0, reader.GetReferenceCount());
+}
+
+TEST(BamMultiReaderFileOpsTest, NonExistentFiles) {
+
+    std::vector<std::string> inputFiles;
+    inputFiles.push_back("../data/fake.bam");
+    inputFiles.push_back("../data/fake2.bam");
+
+    BamTools::BamMultiReader reader;
+    EXPECT_FALSE(reader.Open(inputFiles));
+
+    EXPECT_FALSE(reader.HasOpenReaders());
+    EXPECT_FALSE(reader.HasIndexes());
+    std::vector<std::string> filenames = reader.Filenames();
+    EXPECT_EQ(0, (int)filenames.size());
+    EXPECT_EQ("", reader.GetHeaderText());
+    EXPECT_EQ(0, reader.GetReferenceCount());
+}
+
+TEST(BamMultiReaderFileOpsTest, EmptyFiles) {
+
+    std::vector<std::string> inputFiles;
+    inputFiles.push_back("../data/empty.bam");
+    inputFiles.push_back("../data/empty1.bam");
+    inputFiles.push_back("../data/empty2.bam");
+
+    BamTools::BamMultiReader reader;
+    EXPECT_FALSE(reader.Open(inputFiles));
+
+    EXPECT_FALSE(reader.HasOpenReaders());
+    EXPECT_FALSE(reader.HasIndexes());
+    std::vector<std::string> filenames = reader.Filenames();
+    EXPECT_EQ(0, (int)filenames.size());
+    EXPECT_EQ("", reader.GetHeaderText());
+    EXPECT_EQ(0, reader.GetReferenceCount());
+}
+
+#endif // BAMMULTIREADER_FILEOPSTEST_H