7 class TestTrim < Test::Unit::TestCase
12 def test_Trim_quality_trim_with_missing_seq_raises
14 assert_raise(TrimError) { @entry.quality_trim_right(20) }
15 assert_raise(TrimError) { @entry.quality_trim_right!(20) }
16 assert_raise(TrimError) { @entry.quality_trim_left(20) }
17 assert_raise(TrimError) { @entry.quality_trim_left!(20) }
18 assert_raise(TrimError) { @entry.quality_trim(20) }
19 assert_raise(TrimError) { @entry.quality_trim!(20) }
22 def test_Trim_quality_trim_with_missing_qual_raises
24 assert_raise(TrimError) { @entry.quality_trim_right(20) }
25 assert_raise(TrimError) { @entry.quality_trim_right!(20) }
26 assert_raise(TrimError) { @entry.quality_trim_left(20) }
27 assert_raise(TrimError) { @entry.quality_trim_left!(20) }
28 assert_raise(TrimError) { @entry.quality_trim(20) }
29 assert_raise(TrimError) { @entry.quality_trim!(20) }
32 def test_Trim_quality_trim_with_bad_min_raises
36 [-1, 41].each do |min|
37 assert_raise(TrimError) { @entry.quality_trim_right(min) }
38 assert_raise(TrimError) { @entry.quality_trim_right!(min) }
39 assert_raise(TrimError) { @entry.quality_trim_left(min) }
40 assert_raise(TrimError) { @entry.quality_trim_left!(min) }
41 assert_raise(TrimError) { @entry.quality_trim(min) }
42 assert_raise(TrimError) { @entry.quality_trim!(min) }
46 def test_Trim_quality_trim_with_ok_min_dont_raise
51 assert_nothing_raised { @entry.quality_trim_right(min) }
52 assert_nothing_raised { @entry.quality_trim_right!(min) }
53 assert_nothing_raised { @entry.quality_trim_left(min) }
54 assert_nothing_raised { @entry.quality_trim_left!(min) }
55 assert_nothing_raised { @entry.quality_trim(min) }
56 assert_nothing_raised { @entry.quality_trim!(min) }
60 def test_Trim_quality_trim_right_returns_correctly
61 @entry.seq = "AAAAATCG"
62 @entry.qual = "hhhhhgfe"
63 new_entry = @entry.quality_trim_right(38)
64 assert_equal("AAAAATC", new_entry.seq)
65 assert_equal("hhhhhgf", new_entry.qual)
66 assert_equal("AAAAATCG", @entry.seq)
67 assert_equal("hhhhhgfe", @entry.qual)
70 def test_Trim_quality_trim_right_bang_returns_correctly
71 @entry.seq = "AAAAATCG"
72 @entry.qual = "hhhhhgfe"
73 @entry.quality_trim_right!(38)
74 assert_equal("AAAAATC", @entry.seq)
75 assert_equal("hhhhhgf", @entry.qual)
78 def test_Trim_quality_trim_right_with_all_low_qual_returns_correctly
79 @entry.seq = "GCTAAAAA"
80 @entry.qual = "@@@@@@@@"
81 @entry.quality_trim_right!(38)
82 assert_equal("", @entry.seq)
83 assert_equal("", @entry.qual)
86 def test_Trim_quality_trim_left_returns_correctly
87 @entry.seq = "GCTAAAAA"
88 @entry.qual = "efghhhhh"
89 new_entry = @entry.quality_trim_left(38)
90 assert_equal("CTAAAAA", new_entry.seq)
91 assert_equal("fghhhhh", new_entry.qual)
92 assert_equal("GCTAAAAA", @entry.seq)
93 assert_equal("efghhhhh", @entry.qual)
96 def test_Trim_quality_trim_left_bang_returns_correctly
97 @entry.seq = "GCTAAAAA"
98 @entry.qual = "efghhhhh"
99 @entry.quality_trim_left!(38)
100 assert_equal("CTAAAAA", @entry.seq)
101 assert_equal("fghhhhh", @entry.qual)
104 def test_Trim_quality_trim_left_with_all_low_qual_returns_correctly
105 @entry.seq = "GCTAAAAA"
106 @entry.qual = "@@@@@@@@"
107 @entry.quality_trim_left!(38)
108 assert_equal("", @entry.seq)
109 assert_equal("", @entry.qual)
112 def test_Trim_quality_trim_returns_correctly
113 @entry.seq = "GCTAAAAAGTG"
114 @entry.qual = "efghhhhhgfe"
115 new_entry = @entry.quality_trim(38)
116 assert_equal("CTAAAAAGT", new_entry.seq)
117 assert_equal("fghhhhhgf", new_entry.qual)
118 assert_equal("GCTAAAAAGTG", @entry.seq)
119 assert_equal("efghhhhhgfe", @entry.qual)
122 def test_Trim_quality_trim_bang_returns_correctly
123 @entry.seq = "GCTAAAAAGTG"
124 @entry.qual = "efghhhhhgfe"
125 @entry.quality_trim!(38)
126 assert_equal("CTAAAAAGT", @entry.seq)
127 assert_equal("fghhhhhgf", @entry.qual)
130 def test_Trim_quality_trim_with_min_len_bang_returns_correctly
131 @entry.seq = "GCTCAAACGTG"
132 @entry.qual = "hdefghgfedh"
133 @entry.quality_trim!(37, 2)
134 assert_equal("TCAAACG", @entry.seq)
135 assert_equal("efghgfe", @entry.qual)
138 def test_Trim_quality_trim_with_all_low_qual_returns_correctly
139 @entry.seq = "GCTCAAACGTG"
140 @entry.qual = "@@@@@@@@@@@"
141 @entry.quality_trim!(37, 2)
142 assert_equal("", @entry.seq)
143 assert_equal("", @entry.qual)