| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using Invercargill;
- using Invercargill.DataStructures;
- void sorted_vector_tests() {
- Test.add_func("/invercargill/structure/sorted_vector/add_item", () => {
- var series = new SortedVector<int>();
- series.add(8);
- assert(series.first_or_default() == 8);
- assert(series.count() == 1);
- });
- Test.add_func("/invercargill/structure/sorted_vector/add_many", () => {
- var series = new SortedVector<int>();
- var items = Iterate.range(0, 10000000);
- series.add_all(items);
- assert(series.count() == 10000000);
- assert(series.matches(items, (a, b) => a == b));
- });
- Test.add_func("/invercargill/structure/sorted_vector/add_many_reversed", () => {
- var series = new SortedVector<int>();
- var items = Iterate.range(300000, 0, -1);
- series.add_all(items);
- assert(series.count() == 300000);
- });
- Test.add_func("/invercargill/structure/sorted_vector/add_twice", () => {
- var series = new SortedVector<int>();
- var items = Iterate.range(0, 100);
- series.add_all(items);
- series.add_all(items);
- assert(series.count() == 200);
- series.matches(items.interleave(items), (a, b) => a == b);
- });
- Test.add_func("/invercargill/structure/sorted_vector/to_array", () => {
- var items = new int[] { 1, 8, 2, 4, 6, 5, 3, 10, 3, 7 };
- var expected = new int[] { 1, 2, 3, 3, 4, 5, 6, 7, 8, 10 };
- var series = new SortedVector<int>();
- series.add_all(Wrap.array(items));
- var array = series.to_array();
- assert_cmpint(array.length, CompareOperator.EQ, 10);
- for(int i = 0; i < expected.length; i++) {
- assert_cmpint(array[i], CompareOperator.EQ, expected[i]);
- }
- });
- }
|