Skip to content

Commit 8426dbb

Browse files
authored
tests: added some test to sorting algorithm (#222)
## Pull Request type Following the recent issue on bubble sort, I added some test to sorting algorithms Please check the type of change your PR introduces: - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no API changes) - [ ] Build-related changes - [ ] Documentation content changes - [X] Other (please describe): unit tests ## What is the current behavior? Issue Number: N/A ## What is the new behavior? - Test covers more scenarios ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information
1 parent 5887296 commit 8426dbb

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

src/sorting/src/tests/bubble_sort_test.cairo

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,33 @@ fn bubblesort_test_pre_sorted() {
4747

4848
#[test]
4949
#[available_gas(2000000)]
50-
fn bubblesort_test_2_same_values() {
50+
fn bubblesort_test_pre_sorted_decreasing() {
51+
let mut data = array![4_u32, 3_u32, 2_u32, 1_u32];
52+
let mut correct = array![1_u32, 2_u32, 3_u32, 4_u32];
53+
54+
let sorted = bubble_sort::bubble_sort_elements(data);
55+
56+
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
57+
}
58+
59+
#[test]
60+
#[available_gas(2000000)]
61+
fn bubblesort_test_pre_sorted_2_same_values() {
5162
let mut data = array![1_u32, 2_u32, 2_u32, 4_u32];
5263
let mut correct = array![1_u32, 2_u32, 2_u32, 4_u32];
5364

5465
let sorted = bubble_sort::bubble_sort_elements(data);
5566

5667
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
5768
}
69+
70+
#[test]
71+
#[available_gas(2000000)]
72+
fn bubblesort_test_2_same_values() {
73+
let mut data = array![1_u32, 2_u32, 4_u32, 2_u32];
74+
let mut correct = array![1_u32, 2_u32, 2_u32, 4_u32];
75+
76+
let sorted = bubble_sort::bubble_sort_elements(data);
77+
78+
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
79+
}

src/sorting/src/tests/merge_sort_test.cairo

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ fn mergesort_test() {
1111
assert(is_equal(sorted, correct), 'invalid result');
1212
}
1313

14+
#[test]
15+
#[available_gas(2000000)]
16+
fn mergesort_test_2_pre_sorted_decreasing() {
17+
let mut data = array![4_u32, 3_u32, 2_u32, 1_u32];
18+
let mut correct = array![1_u32, 2_u32, 3_u32, 4_u32];
19+
20+
let sorted = merge(data);
21+
22+
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
23+
}
24+
1425
#[test]
1526
#[available_gas(2000000)]
1627
fn mergesort_test_empty() {
@@ -44,3 +55,25 @@ fn mergesort_test_pre_sorted() {
4455

4556
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
4657
}
58+
59+
#[test]
60+
#[available_gas(2000000)]
61+
fn mergesort_test_2_same_values() {
62+
let mut data = array![1_u32, 2_u32, 3_u32, 2_u32, 4_u32];
63+
let mut correct = array![1_u32, 2_u32, 2_u32, 3_u32, 4_u32];
64+
65+
let sorted = merge(data);
66+
67+
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
68+
}
69+
70+
#[test]
71+
#[available_gas(2000000)]
72+
fn mergesort_test_2_same_values_pre_sorted() {
73+
let mut data = array![1_u32, 2_u32, 2_u32, 3_u32, 4_u32];
74+
let mut correct = array![1_u32, 2_u32, 2_u32, 3_u32, 4_u32];
75+
76+
let sorted = merge(data);
77+
78+
assert(is_equal(sorted.span(), correct.span()), 'invalid result');
79+
}

0 commit comments

Comments
 (0)