[kutil] Add sorted insert to kutil::vector
Added a sorted insert to vector, as well as cleaning up and extending the removal functions.
This commit is contained in:
25
src/tests/vector.cpp
Normal file
25
src/tests/vector.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include <vector>
|
||||
#include "kutil/vector.h"
|
||||
#include "catch.hpp"
|
||||
#include "container_helpers.h"
|
||||
|
||||
TEST_CASE( "sorted vector tests", "[containers] [vector]" )
|
||||
{
|
||||
using clock = std::chrono::system_clock;
|
||||
unsigned seed = clock::now().time_since_epoch().count();
|
||||
std::default_random_engine rng(seed);
|
||||
std::uniform_int_distribution<int> distrib(0,10000);
|
||||
|
||||
kutil::vector<sortableT> v;
|
||||
|
||||
int sizes[] = {1, 2, 3, 5, 100};
|
||||
for (int s : sizes) {
|
||||
for (int i = 0; i < s; ++i) {
|
||||
sortableT t { distrib(rng) };
|
||||
v.sorted_insert(t);
|
||||
}
|
||||
|
||||
for (int i = 1; i < s; ++i)
|
||||
CHECK( v[i].value >= v[i-1].value );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user