@@ -137,14 +137,64 @@ test_that("equality methods work as advertised", {
137137 expect_true(AAString(aastr ) != BString(bstr ))
138138 expect_true(bstr == BString(bstr ))
139139
140+ # # comparisons against character
141+ expect_true(DNAString(" AAA" ) == " AAA" )
142+ expect_true(DNAString(" AAA" ) != " BBB" )
143+ expect_false(RNAString(" UUU" ) == " TTT" )
144+ expect_true(AAString(" UUU" ) == " UUU" )
145+ # # these may seem redundant but need to ensure that order doesn't matter
146+ expect_true(" AAA" == DNAString(" AAA" ))
147+ expect_true(" BBB" != DNAString(" AAA" ))
148+ expect_false(" TTT" == RNAString(" UUU" ))
149+ expect_true(" UUU" == AAString(" UUU" ))
150+
151+ # # invalid comparisons
152+ expect_error(DNAString() == AAString(),
153+ " comparison between a \" DNAString\" instance and a \" AAString\" instance is not supported" )
154+ expect_error(DNAString() == BString(),
155+ " comparison between a \" DNAString\" instance and a \" BString\" instance is not supported" )
156+ expect_error(RNAString() == AAString(),
157+ " comparison between a \" RNAString\" instance and a \" AAString\" instance is not supported" )
158+ expect_error(RNAString() == BString(),
159+ " comparison between a \" RNAString\" instance and a \" BString\" instance is not supported" )
160+ })
161+
162+ test_that(" inequality methods work as advertised" , {
163+ # # Basic cases
164+ expect_true(DNAString(" AAA" ) < = DNAString(" AAAA" ))
165+ expect_false(DNAString(" AAA" ) > DNAString(" AAAA" ))
166+ expect_true(DNAString(" AAA" ) < = DNAString(" AAA" ))
167+ expect_true(DNAString(" A" ) < = DNAString(" C" ))
168+ expect_false(DNAString(" ATTT" ) > RNAString(" AUUU" ))
169+ expect_true(AAString(" AAA" ) < = AAString(" BBB" ))
170+ expect_true(BString(" Testing" ) < = BString(" ZZZTesting" ))
171+
172+ # # have to check every combination for XString - character comparisons
173+ # # due to how dispatch works
174+ expect_true(BString(" ABCDEFG" ) < = " ABCDEFG" )
175+ expect_true(BString(" ABCDEFG" ) < " ZYXWVUT" )
176+ expect_true(BString(" ABCDEFG" ) > = " ABCDEFG" )
177+ expect_false(BString(" ABCDEFG" ) > " ABCDEFG" )
178+
179+ expect_true(" ABCDEFG" < = BString(" ABCDEFG" ))
180+ expect_false(" ZYXWVUT" < BString(" ABCDEFG" ))
181+ expect_true(" ABCDEFG" > = BString(" ABCDEFG" ))
182+ expect_false(" ABCDEFG" > BString(" ABCDEFG" ))
183+
184+ # # Cases with potentially invalid characters
185+ expect_true(DNAString(" AAA" ) < " BBB" )
186+ expect_true(DNAString(" CCC" ) > " BBB" )
187+ expect_true(RNAString(" UUU" ) > = " TTT" )
188+ expect_true(RNAString(" UUU" ) > = " UUU" )
189+
140190 # # invalid comparisons
141- expect_error(DNAString(dnastr ) == AAString(aastr ),
191+ expect_error(DNAString() < = AAString(),
142192 " comparison between a \" DNAString\" instance and a \" AAString\" instance is not supported" )
143- expect_error(DNAString(dnastr ) == BString(bstr ),
193+ expect_error(DNAString() < = BString(),
144194 " comparison between a \" DNAString\" instance and a \" BString\" instance is not supported" )
145- expect_error(RNAString(rnastr ) == AAString(aastr ),
195+ expect_error(RNAString() < = AAString(),
146196 " comparison between a \" RNAString\" instance and a \" AAString\" instance is not supported" )
147- expect_error(RNAString(rnastr ) == BString(bstr ),
197+ expect_error(RNAString() < = BString(),
148198 " comparison between a \" RNAString\" instance and a \" BString\" instance is not supported" )
149199})
150200
0 commit comments