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
|
#include <gtest/gtest.h>
#include <DazAlnProvider.hpp>
TEST(TargetHitTest, single_overlap_perfect) {
Record rec;
Overlap ovl;
rec.ovl = ovl;
Path path;
path.abpos = 27;
path.aepos = 7013;
path.bbpos = 1231;
path.bepos = 8217;
path.diffs = 0;
rec.ovl.path = path;
TargetHit th;
th.add(rec);
th.computeOvlScore();
EXPECT_FLOAT_EQ(6986, th.ovlScore);
}
TEST(TargetHitTest, single_overlap_inaccurate) {
Record rec;
Overlap ovl;
rec.ovl = ovl;
Path path;
path.abpos = 10;
path.aepos = 5000;
path.bbpos = 2000;
path.bepos = 6000;
path.diffs = 230;
rec.ovl.path = path;
TargetHit th;
th.add(rec);
th.computeOvlScore();
EXPECT_FLOAT_EQ(3770, th.ovlScore);
}
TEST(TargetHitTest, multi_overlap_inaccurate) {
Record r1;
Overlap o1;
r1.ovl = o1;
Path p1;
p1.abpos = 10;
p1.aepos = 5000;
p1.bbpos = 2000;
p1.bepos = 6000;
p1.diffs = 230;
r1.ovl.path = p1;
Record r2;
Overlap o2;
r2.ovl = o2;
Path p2;
p2.abpos = 5005;
p2.aepos = 7005;
p2.bbpos = 6001;
p2.bepos = 7995;
p2.diffs = 53;
r2.ovl.path = p2;
TargetHit th;
th.add(r1);
th.computeOvlScore();
EXPECT_FLOAT_EQ(3770, th.ovlScore);
th.add(r2);
th.computeOvlScore();
EXPECT_FLOAT_EQ(4721, th.ovlScore);
}
|