Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; sort 000E
- .macro assert(input, payloadSize, expected)
- ld bc, payloadSize
- call malloc
- jr nz, .failMem
- ld hl, input
- push ix \ pop de \ push de
- ld bc, payloadSize
- ldir
- pop hl \ push hl
- ld de, payloadSize - 1
- add hl, de
- pop de \ push de
- ex de, hl
- call radixSort
- pop hl \ push hl
- ld de, expected
- call compareStrings
- pop ix
- jr nz, .fail
- call free
- .endmacro
- test_sort:
- assert(.test1, 5, .expected1)
- assert(.test2, 8, .expected2)
- assert(.test3, 10, .expected3)
- assert(.test4, 2, .expected4)
- assert_pass()
- .fail:
- call free
- .failMem:
- assert_fail()
- .undefine assert
- .test1:
- .db 7, 4, 8, 6, 0
- .expected1:
- .db 4, 5, 7, 8, 0
- .test2:
- .db 7, 6, 5, 4, 3, 2, 1, 0
- .expected2:
- .db 1, 2, 3, 4, 5, 6, 7, 0
- .test3:
- .db 4, 5, 7, 10, 15, 17, 18, 22, 25, 0
- .expected3:
- .db 4, 5, 7, 10, 15, 17, 18, 22, 25, 0
- .test4:
- .db 7, 0
- .expected4:
- .db 7, 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement