File: fasta_unittest.cpp

package info (click to toggle)
assembly-stats 1.0.1%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 256 kB
  • sloc: cpp: 795; sh: 31; makefile: 9
file content (103 lines) | stat: -rw-r--r-- 2,304 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include "fasta.h"
#include "gtest/gtest.h"


TEST(Fasta, DefaultConstructor)
{
    Fasta fa;
    EXPECT_EQ(0, fa.name().compare(""));
    EXPECT_EQ(0, fa.seq().compare(""));
}


TEST(Fasta, ConstructorWithValues)
{
    Fasta fa("name", "ACGT");
    EXPECT_EQ(0, fa.name().compare("name"));
    EXPECT_EQ(0, fa.seq().compare("ACGT"));
}


TEST(Fasta, setValues)
{
    Fasta fa;
    fa.name("name");
    fa.seq("ACGT");
    EXPECT_EQ(0, fa.name().compare("name"));
    EXPECT_EQ(0, fa.seq().compare("ACGT"));
}


TEST(Fasta, LengthOfSequence)
{
    Fasta fa("name", "");
    EXPECT_EQ((unsigned)0, fa.length());
    fa = Fasta("name", "A");
    EXPECT_EQ((unsigned)1, fa.length());
    fa = Fasta("name", "AC");
    EXPECT_EQ((unsigned)2, fa.length());
}


TEST(Fasta, N_count)
{
    Fasta fa("name", "");
    EXPECT_EQ((unsigned)0, fa.nCount());
    fa = Fasta("name", "n");
    EXPECT_EQ((unsigned)1, fa.nCount());
    fa = Fasta("name", "N");
    EXPECT_EQ((unsigned)1, fa.nCount());
    fa = Fasta("name", "NnACGTNNNTnnT");
    EXPECT_EQ((unsigned)7, fa.nCount());
}


TEST(Fasta, Gaps)
{
    vector< pair<unsigned long, unsigned long> > gaps, expected;
    Fasta fa("name", "");
    gaps = fa.gaps();
    EXPECT_EQ((unsigned)0, gaps.size());

    fa = Fasta("name", "ACGT");
    gaps = fa.gaps();
    EXPECT_EQ((unsigned)0, gaps.size());

    fa = Fasta("name", "nACGT");
    gaps = fa.gaps();
    expected.push_back(make_pair(0, 0));
    EXPECT_TRUE(expected == gaps);

    fa = Fasta("name", "nACNnNGTN");
    gaps = fa.gaps();
    expected.clear();
    expected.push_back(make_pair(0, 0));
    expected.push_back(make_pair(3, 5));
    expected.push_back(make_pair(8, 8));
    EXPECT_TRUE(expected == gaps);
}


TEST(Fasta, ReadFromFile)
{
    Fasta fa;
    int counter = 0;
    ifstream inStream("test_files/fasta_unittest.fasta");

    if (! inStream.is_open())
    {
        cerr << "Error opening test file test_files/fasta_unittest.fasta" << endl;
        exit(1);
    }

    while (fa.fillFromFile(inStream))
    {
        counter++;
        string expectedName = static_cast<ostringstream*>( &(ostringstream() << counter) )->str();
        EXPECT_EQ(0, fa.name().compare(expectedName));
        EXPECT_EQ(0, fa.seq().compare("ACGT"));
    }

    EXPECT_EQ(3, counter);
}