]> git.donarmstrong.com Git - bamtools.git/blob - src/test/api/BamReaderFileOpsTest.h
Reorganized test suite source tree
[bamtools.git] / src / test / api / BamReaderFileOpsTest.h
1 #ifndef BAMREADER_FILEOPSTEST_H
2 #define BAMREADER_FILEOPSTEST_H
3
4 #include "api/BamReader.h"
5 #include <gtest/gtest.h>
6
7 TEST(BamReaderFileOpsTest, Defaults) {
8
9     BamTools::BamReader reader;
10     EXPECT_FALSE(reader.IsOpen());
11     EXPECT_FALSE(reader.HasIndex());
12     EXPECT_EQ("", reader.GetFilename());
13     EXPECT_EQ("", reader.GetHeaderText());
14     EXPECT_EQ(0,  reader.GetReferenceCount());
15 }
16
17 TEST(BamReaderFileOpsTest, NonExistentFile) {
18
19     BamTools::BamReader reader;
20     EXPECT_FALSE(reader.Open("../data/fake.bam"));
21
22     EXPECT_FALSE(reader.IsOpen());
23     EXPECT_FALSE(reader.HasIndex());
24     EXPECT_EQ("", reader.GetFilename());
25     EXPECT_EQ("", reader.GetHeaderText());
26     EXPECT_EQ(0,  reader.GetReferenceCount());
27 }
28
29 TEST(BamReaderFileOpsTest, EmptyFile) {
30
31     BamTools::BamReader reader;
32     EXPECT_FALSE(reader.Open("../data/empty.bam"));
33
34     EXPECT_FALSE(reader.IsOpen());
35     EXPECT_FALSE(reader.HasIndex());
36     EXPECT_EQ("", reader.GetFilename());
37     EXPECT_EQ("", reader.GetHeaderText());
38     EXPECT_EQ(0,  reader.GetReferenceCount());
39 }
40
41 TEST(BamReaderFileOpsTest, NormalFile_NoIndexNoHeader) {
42
43     BamTools::BamReader reader;
44     EXPECT_TRUE(reader.Open("../data/ex1.bam"));
45
46     EXPECT_TRUE(reader.IsOpen());
47     EXPECT_FALSE(reader.HasIndex());
48     EXPECT_EQ("../data/ex1.bam", reader.GetFilename());
49     EXPECT_EQ("", reader.GetHeaderText());
50     EXPECT_EQ(2,  reader.GetReferenceCount());
51 }
52
53 TEST(BamReaderFileOpsTest, NormalFile_ExplicitIndexFilename) {
54
55     BamTools::BamReader reader;
56     EXPECT_TRUE(reader.Open("../data/ex1.bam"));
57
58     EXPECT_TRUE(reader.IsOpen());
59     EXPECT_FALSE(reader.HasIndex());
60     EXPECT_EQ("../data/ex1.bam", reader.GetFilename());
61     EXPECT_EQ("", reader.GetHeaderText());
62     EXPECT_EQ(2,  reader.GetReferenceCount());
63
64     EXPECT_TRUE(reader.OpenIndex("../data/ex1.bam.bai"));
65
66     EXPECT_TRUE(reader.IsOpen());
67     EXPECT_TRUE(reader.HasIndex());
68     EXPECT_EQ("../data/ex1.bam", reader.GetFilename());
69     EXPECT_EQ("", reader.GetHeaderText());
70     EXPECT_EQ(2,  reader.GetReferenceCount());
71 }
72
73 #endif // BAMREADER_FILEOPSTEST_H