diff --git a/t/pmc/resizablefloatarray.t b/t/pmc/resizablefloatarray.t index 0c17c82bf8..89d1125787 100644 --- a/t/pmc/resizablefloatarray.t +++ b/t/pmc/resizablefloatarray.t @@ -16,7 +16,7 @@ out-of-bounds test. Checks INT and PMC keys. =cut -.const int TESTS = 63 +.const int TESTS = 78 .const num PRECISION = 1e-6 .sub 'test' :main @@ -49,6 +49,7 @@ out-of-bounds test. Checks INT and PMC keys. check_interface() get_iter() 'clone'() + test_sort() method_reverse() .end @@ -459,6 +460,50 @@ out-of-bounds test. Checks INT and PMC keys. nok(0, 'clone made an evil clone') .end +.sub test_sort + .local pmc array + array = new ['ResizableFloatArray'], 4 + set array[0], 10.2 + set array[1], 3.0 + set array[2], 5.85 + set array[3], -1.7 + array.'sort'() + $N0 = array[0] + is($N0, -1.7, 'sort works - 1st element correct') + $N1 = array[1] + is($N1, 3.0, 'sort works - 2nd element correct') + $N2 = array[2] + is($N2, 5.85, 'sort works - 3rd element correct') + $N3 = array[3] + is($N3, 10.2, 'sort works - 4th element correct') + push array, 3.5 + array.'sort'() + $N0 = array[0] + is($N0, -1.7, 'sort works - 1st element correct after push') + $N1 = array[1] + is($N1, 3.0, 'sort works - 2nd element correct after push') + $N2 = array[2] + is($N2, 3.5, 'sort works - 3rd element correct after push') + $N3 = array[3] + is($N3, 5.85, 'sort works - 4th element correct after push') + $N4 = array[4] + is($N4, 10.2, 'sort works - 5th element correct after push') + unshift array, 7.2 + array.'sort'() + $N0 = array[0] + is($N0, -1.7, 'sort works - 1st element correct after unshift') + $N1 = array[1] + is($N1, 3.0, 'sort works - 2nd element correct after unshift') + $N2 = array[2] + is($N2, 3.5, 'sort works - 3rd element correct after unshift') + $N3 = array[3] + is($N3, 5.85, 'sort works - 4th element correct after unshift') + $N4 = array[4] + is($N4, 7.2, 'sort works - 5th element correct after unshift') + $N5 = array[5] + is($N5, 10.2, 'sort works - 6th element correct after unshift') +.end + .sub method_reverse .local pmc array array = new ['ResizableFloatArray']