Advertisement
Guest User

test_sort always assert_pass()

a guest
Sep 8th, 2013
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; sort 000E
  2. .macro assert(input, payloadSize, expected)
  3.     ld bc, payloadSize
  4.     call malloc
  5.     jr nz, .failMem
  6.     ld hl, input
  7.     push ix \ pop de \ push de
  8.         ld bc, payloadSize
  9.         ldir
  10.         pop hl \ push hl
  11.         ld de, payloadSize - 1
  12.         add hl, de
  13.         pop de \ push de
  14.         ex de, hl
  15.         call radixSort
  16.         pop hl \ push hl
  17.         ld de, expected
  18.         call compareStrings
  19.     pop ix
  20.     jr nz, .fail
  21.     call free        
  22. .endmacro
  23. test_sort:
  24.     assert(.test1, 5, .expected1)
  25.     assert(.test2, 8, .expected2)
  26.     assert(.test3, 10, .expected3)
  27.     assert(.test4, 2, .expected4)
  28.     assert_pass()
  29. .fail:
  30.     call free
  31. .failMem:
  32.     assert_fail()
  33. .undefine assert
  34. .test1:
  35.     .db 7, 4, 8, 6, 0
  36. .expected1:
  37.     .db 4, 5, 7, 8, 0
  38. .test2:
  39.     .db 7, 6, 5, 4, 3, 2, 1, 0
  40. .expected2:
  41.     .db 1, 2, 3, 4, 5, 6, 7, 0
  42. .test3:
  43.     .db 4, 5, 7, 10, 15, 17, 18, 22, 25, 0
  44. .expected3:
  45.     .db 4, 5, 7, 10, 15, 17, 18, 22, 25, 0
  46. .test4:
  47.     .db 7, 0
  48. .expected4:
  49.     .db 7, 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement