diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:18:58 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:18:58 +0000 |
| commit | 53a420fba21cf1644972b34dcd811a43cdb8368d (patch) | |
| tree | 66a19f6f8b65215772549a51d688492ab8addc0d /test/std/algorithms/alg.modifying.operations/alg.random.shuffle | |
| parent | b50f1549701eb950921e5d6f2e55ba1a1dadbb43 (diff) | |
Notes
Diffstat (limited to 'test/std/algorithms/alg.modifying.operations/alg.random.shuffle')
3 files changed, 19 insertions, 7 deletions
diff --git a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp index a14ccf9e5e6c..e24598a9bc12 100644 --- a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp +++ b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp @@ -17,6 +17,8 @@ #include <algorithm> #include <cassert> +#include "test_macros.h" + int main() { int ia[] = {1, 2, 3, 4}; @@ -24,7 +26,9 @@ int main() int ia2[] = {4, 1, 2, 3}; const unsigned sa = sizeof(ia)/sizeof(ia[0]); std::random_shuffle(ia, ia+sa); - assert(std::equal(ia, ia+sa, ia1)); + LIBCPP_ASSERT(std::equal(ia, ia+sa, ia1)); + assert(std::is_permutation(ia, ia+sa, ia1)); std::random_shuffle(ia, ia+sa); - assert(std::equal(ia, ia+sa, ia2)); + LIBCPP_ASSERT(std::equal(ia, ia+sa, ia2)); + assert(std::is_permutation(ia, ia+sa, ia2)); } diff --git a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp index b944c89e3519..c923d847f11e 100644 --- a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp +++ b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp @@ -17,10 +17,13 @@ #include <algorithm> #include <cassert> +#include <cstddef> + +#include "test_macros.h" struct gen { - int operator()(int n) + std::ptrdiff_t operator()(std::ptrdiff_t n) { return n-1; } @@ -33,5 +36,6 @@ int main() const unsigned sa = sizeof(ia)/sizeof(ia[0]); gen r; std::random_shuffle(ia, ia+sa, r); - assert(std::equal(ia, ia+sa, ia1)); + LIBCPP_ASSERT(std::equal(ia, ia+sa, ia1)); + assert(std::is_permutation(ia, ia+sa, ia1)); } diff --git a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp index 343ae90101ff..512acc392de8 100644 --- a/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp +++ b/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp @@ -17,6 +17,8 @@ #include <random> #include <cassert> +#include "test_macros.h" + int main() { int ia[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; @@ -25,7 +27,9 @@ int main() const unsigned sa = sizeof(ia)/sizeof(ia[0]); std::minstd_rand g; std::shuffle(ia, ia+sa, g); - assert(std::equal(ia, ia+sa, ia1)); - std::shuffle(ia, ia+sa, g); - assert(std::equal(ia, ia+sa, ia2)); + LIBCPP_ASSERT(std::equal(ia, ia+sa, ia1)); + assert(std::is_permutation(ia, ia+sa, ia1)); + std::shuffle(ia, ia+sa, std::move(g)); + LIBCPP_ASSERT(std::equal(ia, ia+sa, ia2)); + assert(std::is_permutation(ia, ia+sa, ia2)); } |
