summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-05-16 10:15:30 -0700
committerDaniel Bovensiepen <[email protected]>2012-05-16 10:15:30 -0700
commit582795a3bfc614aa025de33756492ae1bdf6c775 (patch)
tree111165137028f58a61c6ed87fac703c67224745f /test
parent357aac680e321890c6c9c641adaf3c87c1c4c76e (diff)
downloadmruby-582795a3bfc614aa025de33756492ae1bdf6c775.tar.gz
mruby-582795a3bfc614aa025de33756492ae1bdf6c775.zip
Complete all Array ISO Codes
Diffstat (limited to 'test')
-rw-r--r--test/t/array.rb157
1 files changed, 157 insertions, 0 deletions
diff --git a/test/t/array.rb b/test/t/array.rb
index 3b65a80dd..68708202b 100644
--- a/test/t/array.rb
+++ b/test/t/array.rb
@@ -35,6 +35,163 @@ assert('Array#clear', '15.2.12.5.6') do
a == []
end
+assert('Array#collect!', '15.2.12.5.7') do
+ a = [1,2,3]
+ a.collect! { |i| i + i }
+ a == [2,4,6]
+end
+
+assert('Array#concat', '15.2.12.5.8') do
+ a = [1,2]
+ b = [3,4]
+ a.concat(b) == [1,2,3,4]
+end
+
+assert('Array#delete_at', '15.2.12.5.9') do
+ a = [1,2,3]
+ a.delete_at(1)
+ a == [1,3]
+end
+
+assert('Array#each', '15.2.12.5.10') do
+ a = [1,2,3]
+ b = 0
+ a.each {|i| b += i}
+ b == 6
+end
+
+assert('Array#each_index', '15.2.12.5.11') do
+ a = [1]
+ b = nil
+ a.each_index {|i| b = i}
+ b == 0
+end
+
+assert('Array#empty?', '15.2.12.5.12') do
+ a = []
+ b = [b]
+ a.empty? and not b.empty?
+end
+
+assert('Array#first', '15.2.12.5.13') do
+ a = []
+ b = [1,2,3]
+
+ a.first == nil and b.first == 1
+end
+
+assert('Array#index', '15.2.12.5.14') do
+ a = [1,2,3]
+
+ a.index(2) == 1
+end
+
+assert('Array#initialize', '15.2.12.5.15') do
+ a = [].initialize(1)
+ b = [].initialize(2)
+ c = [].initialize(2, 1)
+ d = [].initialize(2) {|i| i}
+
+ a == [nil] and b == [nil,nil] and c == [1,1] and d == [0,1]
+end
+
+assert('Array#initialize_copy', '15.2.12.5.16') do
+ a = [1,2,3]
+ b = [].initialize_copy(a)
+
+ b == [1,2,3]
+end
+
+assert('Array#join', '15.2.12.5.17') do
+ a = [1,2,3].join
+ b = [1,2,3].join(',')
+
+ a == '123' and b == '1,2,3'
+end
+
+assert('Array#last', '15.2.12.5.18') do
+ a = [1,2,3]
+
+ a.last == 3 and [].last == nil
+end
+
+assert('Array#length', '15.2.12.5.19') do
+ a = [1,2,3]
+
+ a.length == 3
+end
+
+assert('Array#map!', '15.2.12.5.20') do
+ a = [1,2,3]
+ a.map! { |i| i + i }
+ a == [2,4,6]
+end
+
+assert('Array#pop', '15.2.12.5.21') do
+ a = [1,2,3]
+ b = a.pop
+
+ [].pop == nil and a == [1,2] and b = 3
+end
+
+assert('Array#push', '15.2.12.5.22') do
+ a = [1,2,3]
+ b = a.push(4)
+
+ a == [1,2,3,4] and b = [1,2,3,4]
+end
+
+assert('Array#replace', '15.2.12.5.23') do
+ a = [1,2,3]
+ b = [].replace(a)
+
+ b == [1,2,3]
+end
+
+assert('Array#reverse', '15.2.12.5.24') do
+ a = [1,2,3]
+ b = a.reverse
+
+ a == [1,2,3] and b == [3,2,1]
+end
+
+assert('Array#reverse!', '15.2.12.5.25') do
+ a = [1,2,3]
+ b = a.reverse!
+
+ a == [3,2,1] and b == [3,2,1]
+end
+
+assert('Array#rindex', '15.2.12.5.26') do
+ a = [1,2,3]
+
+ a.rindex(2) == 1
+end
+
+assert('Array#shift', '15.2.12.5.27') do
+ a = [1,2,3]
+ b = a.shift
+
+ [].shift == nil and a == [2,3] and b == 1
+end
+
+assert('Array#size', '15.2.12.5.28') do
+ a = [1,2,3]
+
+ a.size == 3
+end
+
+assert('Array#slice', '15.2.12.5.29') do
+ [1,2,3].[](1) == 2
+end
+
+assert('Array#unshift', '15.2.12.5.30') do
+ a = [2,3]
+ b = a.unshift(1)
+
+ a == [1,2,3] and b == [1,2,3]
+end
+
# Not ISO specified