summary refs log tree commit diff
path: root/src/test/stdtest
diff options
context:
space:
mode:
authorMatt Brubeck <mbrubeck@limpet.net>2011-11-02 13:34:23 -0700
committerBrian Anderson <banderson@mozilla.com>2011-11-02 15:35:10 -0700
commit5970e9c117ebf0b3056536553dee046fa05b6c9d (patch)
tree1f8ffc242029b704b3e629e228c6a8d6867262c5 /src/test/stdtest
parent558ca9b4a81b801d0957a734bd20f73ca00cede1 (diff)
downloadrust-5970e9c117ebf0b3056536553dee046fa05b6c9d.tar.gz
rust-5970e9c117ebf0b3056536553dee046fa05b6c9d.zip
Add vec::permute to the standard library (#1013)
Diffstat (limited to 'src/test/stdtest')
-rw-r--r--src/test/stdtest/vec.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/stdtest/vec.rs b/src/test/stdtest/vec.rs
index de3b15d3a7b..9b29d5d1977 100644
--- a/src/test/stdtest/vec.rs
+++ b/src/test/stdtest/vec.rs
@@ -367,6 +367,27 @@ fn riter2() {
 }
 
 #[test]
+fn test_permute() {
+  let results: [[int]];
+
+  results = [];
+  permute([]) {|v| results += [v]; }
+  assert results == [[]];
+
+  results = [];
+  permute([7]) {|v| results += [v]; }
+  assert results == [[7]];
+
+  results = [];
+  permute([1,1]) {|v| results += [v]; }
+  assert results == [[1,1],[1,1]];
+
+  results = [];
+  permute([5,2,0]) {|v| results += [v]; }
+  assert results == [[5,2,0],[5,0,2],[2,5,0],[2,0,5],[0,5,2],[0,2,5]];
+}
+
+#[test]
 fn test_any_and_all() {
     assert (vec::any(is_three, [1u, 2u, 3u]));
     assert (!vec::any(is_three, [0u, 1u, 2u]));