]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/test/api/SamHeader/SamHeaderValidatorTest.h
Reorganized test suite source tree
[bamtools.git] / src / test / api / SamHeader / SamHeaderValidatorTest.h
diff --git a/src/test/api/SamHeader/SamHeaderValidatorTest.h b/src/test/api/SamHeader/SamHeaderValidatorTest.h
deleted file mode 100644 (file)
index bec004a..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-#ifndef SAMHEADER_VALIDATORTEST_H
-#define SAMHEADER_VALIDATORTEST_H
-
-#include "api/SamHeader.h"
-#include <gtest/gtest.h>
-#include <iostream>
-#include <string>
-
-TEST(SamHeader_ValidatorTest, EmptyHeader) {
-
-    BamTools::SamHeader header("");
-    std::string headerText = header.ToString();
-    ASSERT_TRUE(headerText.empty());
-    EXPECT_TRUE(header.IsValid());
-}
-
-TEST(SamHeader_ValidatorTest, Version) {
-
-    BamTools::SamHeader header("");
-
-    // empty - VALID HEADER
-    header.Version = "";
-    EXPECT_TRUE(header.IsValid());
-
-    // normal - VALID HEADER
-    header.Version = "1.1";
-    EXPECT_TRUE(header.IsValid());
-    header.Version = "11.1";
-    EXPECT_TRUE(header.IsValid());
-    header.Version = "1.11";
-
-    // no period - INVALID HEADER
-    header.Version = "11";
-    EXPECT_FALSE(header.IsValid());
-
-    // no major - INVALID HEADER
-    header.Version = ".1";
-    EXPECT_FALSE(header.IsValid());
-
-    // invalid major - INVALID HEADER
-    header.Version = "a.1";
-    EXPECT_FALSE(header.IsValid());
-
-    // no minor - INVALID HEADER
-    header.Version = "1.";
-    EXPECT_FALSE(header.IsValid());
-
-    // invalid minor - INVALID HEADER
-    header.Version = "1.a";
-    EXPECT_FALSE(header.IsValid());
-}
-
-TEST(SamHeader_ValidatorTest, GroupOrder) {
-
-    BamTools::SamHeader header("");
-
-    // empty - VALID HEADER
-    header.GroupOrder = "";
-    EXPECT_TRUE(header.IsValid());
-
-    // normal group order- VALID HEADER
-    header.GroupOrder = "none";
-    EXPECT_TRUE(header.IsValid());
-    header.GroupOrder = "query";
-    EXPECT_TRUE(header.IsValid());
-    header.GroupOrder = "reference";
-    EXPECT_TRUE(header.IsValid());
-
-    // invalid group order - INVALID HEADER
-    header.GroupOrder = "fake";
-    EXPECT_FALSE(header.IsValid());
-}
-
-TEST(SamHeader_ValidatorTest, SortOrder) {
-
-    BamTools::SamHeader header("");
-
-    // empty - VALID HEADER
-    header.SortOrder = "";
-    EXPECT_TRUE(header.IsValid());
-
-    // normal sort order- VALID HEADER
-    header.SortOrder = "coordinate";
-    EXPECT_TRUE(header.IsValid());
-    header.SortOrder = "queryname";
-    EXPECT_TRUE(header.IsValid());
-    header.SortOrder = "unsorted";
-    EXPECT_TRUE(header.IsValid());
-
-    // invalid sort order - INVALID HEADER
-    header.SortOrder = "fake";
-    EXPECT_FALSE(header.IsValid());
-}
-
-TEST(SamHeader_ValidatorTest, SequenceDictionary) {
-
-    BamTools::SamHeader header("");
-    BamTools::SamSequence sequence;
-
-    // --------------------------------
-    // empty - VALID HEADER
-
-    header.Sequences.Clear();
-    EXPECT_TRUE(header.IsValid());
-
-    // --------------------------------
-    // normal - VALID HEADER
-
-    sequence.Name   = "MT";
-    sequence.Length = "1000";
-    header.Sequences.Add(sequence);
-    EXPECT_TRUE(header.IsValid());
-
-    // normal ( length == MIN )
-    sequence.Name   = "MT";
-    sequence.Length = "1";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_TRUE(header.IsValid());
-
-    // normal ( length == MAX )
-    sequence.Name = "MT";
-    sequence.Length = "536870911";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_TRUE(header.IsValid());
-
-    // ---------------------------------
-    // missing required info - INVALID HEADER
-
-    // missing ID
-    sequence.Name = "";
-    sequence.Length = "1000";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // missing length
-    sequence.Name = "MT";
-    sequence.Length = "";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // -------------------------------------
-    // improper SN format - INVALID HEADER
-
-    // starts with *
-    sequence.Name = "*MT";
-    sequence.Length = "1000";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // starts with =
-    sequence.Name = "=MT";
-    sequence.Length = "1000";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // -----------------------------------------
-    // nonunique ID - INVALID HEADER
-
-    // this behavior is blocked by SamSequenceDictionary
-    // see SamSequenceDictionaryTest::AddDuplicateOk
-
-    // --------------------------------------------
-    // invalid length  - INVALID HEADER
-
-    // length = 0 (MIN == 1)
-    sequence.Name = "MT";
-    sequence.Length = "0";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // length = -1
-    sequence.Name = "MT";
-    sequence.Length = "-1";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-
-    // length = MAX + 1
-    sequence.Name ="MT";
-    sequence.Length = "536870912";
-    header.Sequences.Clear();
-    header.Sequences.Add(sequence);
-    EXPECT_FALSE(header.IsValid());
-}
-
-TEST(SamHeader_ValidatorTest, ReadGroupDictionary) {
-
-    BamTools::SamHeader header("");
-    BamTools::SamReadGroup readGroup;
-
-    // ---------------------------------
-    // empty - VALID HEADER
-
-    header.ReadGroups.Clear();
-    EXPECT_TRUE(header.IsValid());
-
-    // ---------------------------------
-    // normal - VALID HEADER
-
-    readGroup.ID = "Group123";
-    readGroup.PlatformUnit = "PU001";
-
-    // technology: none
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: capillary
-    readGroup.SequencingTechnology = "CAPILLARY";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: Helicos
-    readGroup.SequencingTechnology = "HELICOS";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: Illumina
-    readGroup.SequencingTechnology = "ILLUMINA";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: IonTorrent
-    readGroup.SequencingTechnology = "IONTORRENT";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: 454
-    readGroup.SequencingTechnology = "LS454";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: Pacific Bio
-    readGroup.SequencingTechnology = "PACBIO";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // technology: Solid
-    readGroup.SequencingTechnology = "SOLID";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_TRUE(header.IsValid());
-
-    // ---------------------------------
-    // missing ID - INVALID HEADER
-
-    readGroup.ID = "";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_FALSE(header.IsValid());
-
-    // -----------------------------------------
-    // nonunique ID - INVALID HEADER
-
-    // this behavior is blocked by SamReadGroupDictionary
-    // see SamReadGroupDictionaryTest::AddDuplicateOk
-
-    // ------------------------------------------
-    // nonunique platform unit - INVALID HEADER
-
-    BamTools::SamReadGroup dupPU("Group1");
-    BamTools::SamReadGroup dupPU2("Group2");
-    dupPU.PlatformUnit = "PU001";
-    dupPU2.PlatformUnit = "PU001";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(dupPU);
-    header.ReadGroups.Add(dupPU2);
-    EXPECT_FALSE(header.IsValid());
-
-    // ------------------------------------------------
-    // invalid sequencing technology - INVALID HEADER
-
-    readGroup.SequencingTechnology = "fake";
-    header.ReadGroups.Clear();
-    header.ReadGroups.Add(readGroup);
-    EXPECT_FALSE(header.IsValid());
-}
-
-#endif // SAMHEADER_VALIDATORTEST_H