1 #ifndef SAMSEQUENCEDICTIONARY_TEST_H
2 #define SAMSEQUENCEDICTIONARY_TEST_H
4 #include "api/SamSequenceDictionary.h"
5 #include <gtest/gtest.h>
8 TEST(SamSequenceDictionaryTest, Empty) {
10 BamTools::SamSequenceDictionary sequences;
11 EXPECT_TRUE(sequences.IsEmpty());
12 EXPECT_EQ(0, sequences.Size());
15 TEST(SamSequenceDictionaryTest, AddOne) {
17 BamTools::SamSequenceDictionary sequences;
18 sequences.Add(BamTools::SamSequence());
19 EXPECT_FALSE(sequences.IsEmpty());
20 EXPECT_EQ(1, sequences.Size());
23 TEST(SamSequenceDictionaryTest, AddMulti) {
25 std::vector<BamTools::SamSequence> groups;
26 groups.push_back(BamTools::SamSequence("1", 100));
27 groups.push_back(BamTools::SamSequence("2", 100));
29 BamTools::SamSequenceDictionary sequences;
30 sequences.Add(groups);
31 EXPECT_FALSE(sequences.IsEmpty());
32 EXPECT_EQ(2, sequences.Size());
35 TEST(SamSequenceDictionaryTest, AddDuplicate) {
37 std::vector<BamTools::SamSequence> groups;
38 groups.push_back(BamTools::SamSequence("1", 100));
39 groups.push_back(BamTools::SamSequence("1", 100));
41 // add duplicates through Add()
42 BamTools::SamSequenceDictionary sequences;
43 sequences.Add(groups);
44 EXPECT_FALSE(sequences.IsEmpty());
45 EXPECT_EQ(1, sequences.Size()); // duplicate should not get added
47 // add duplicates through operator[]
49 sequences["1"] = groups.at(0);
50 sequences["1"] = groups.at(0);
51 EXPECT_FALSE(sequences.IsEmpty());
52 EXPECT_EQ(1, sequences.Size()); // duplicate should not get added
55 TEST(SamSequenceDictionaryTest, Clear) {
58 BamTools::SamSequenceDictionary sequences;
59 sequences.Add(BamTools::SamSequence());
60 EXPECT_FALSE(sequences.IsEmpty());
61 EXPECT_EQ(1, sequences.Size());;
65 EXPECT_TRUE(sequences.IsEmpty());
66 EXPECT_EQ(0, sequences.Size());
69 #endif // SAMSEQUENCEDICTIONARY_TEST_H