1 #include <r_util.h>
2 #include "minunit.h"
3
test_r_debruijn_pattern(void)4 bool test_r_debruijn_pattern(void) {
5 char* pattern = r_debruijn_pattern (256, 0, NULL /*default charset*/);
6 mu_assert_eq ((int)strlen(pattern), 256, "pattern length");
7 mu_assert_streq (pattern, "AAABAACAADAAEAAFAAGAAHAAIAAJAAKAALAAMAANAAOAAPAAQAARAASAATAAUAAVAAWAAXAAYAAZAAaAAbAAcAAdAAeAAfAAgAAhAAiAAjAAkAAlAAmAAnAAoAApAAqAArAAsAAtAAuAAvAAwAAxAAyAAzAA1AA2AA3AA4AA5AA6AA7AA8AA9AA0ABBABCABDABEABFABGABHABIABJABKABLABMABNABOABPABQABRABSABTABUABVABWABXABY", "pattern of 256 length");
8 free (pattern);
9 mu_end;
10 }
11
test_r_debruijn_offset(void)12 bool test_r_debruijn_offset(void) {
13 // From ropasaurusrex.
14 ut64 offset = 0x41417641;
15 mu_assert_eq (r_debruijn_offset (offset, false /*little endian*/), 140, "debruijn offset - little endian");
16 offset = 0x41764141;
17 mu_assert_eq (r_debruijn_offset (offset, true /*big endian*/), 140, "debruijn offset - big endian");
18 mu_end;
19 }
20
all_tests()21 int all_tests() {
22 mu_run_test(test_r_debruijn_pattern);
23 mu_run_test(test_r_debruijn_offset);
24 return tests_passed != tests_run;
25 }
26
main(int argc,char ** argv)27 int main(int argc, char **argv) {
28 return all_tests();
29 }
30