Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Got about_arrays.rb to pass. #4

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 29 additions & 29 deletions about_arrays.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
class AboutArrays < Neo::Koan
def test_creating_arrays
empty_array = Array.new
assert_equal __, empty_array.class
assert_equal __, empty_array.size
assert_equal Array, empty_array.class
assert_equal 0, empty_array.size
end

def test_array_literals
Expand All @@ -15,70 +15,70 @@ def test_array_literals
assert_equal [1], array

array[1] = 2
assert_equal [1, __], array
assert_equal [1, 2], array

array << 333
assert_equal __, array
assert_equal [1, 2, 333], array
end

def test_accessing_array_elements
array = [:peanut, :butter, :and, :jelly]

assert_equal __, array[0]
assert_equal __, array.first
assert_equal __, array[3]
assert_equal __, array.last
assert_equal __, array[-1]
assert_equal __, array[-3]
assert_equal :peanut, array[0]
assert_equal :peanut, array.first
assert_equal :jelly, array[3]
assert_equal :jelly, array.last
assert_equal :jelly, array[-1]
assert_equal :butter, array[-3]
end

def test_slicing_arrays
array = [:peanut, :butter, :and, :jelly]

assert_equal __, array[0,1]
assert_equal __, array[0,2]
assert_equal __, array[2,2]
assert_equal __, array[2,20]
assert_equal __, array[4,0]
assert_equal __, array[4,100]
assert_equal __, array[5,0]
assert_equal [:peanut], array[0,1]
assert_equal [:peanut, :butter], array[0,2]
assert_equal [:and, :jelly], array[2,2]
assert_equal [:and, :jelly], array[2,20]
assert_equal [], array[4,0]
assert_equal [], array[4,100]
assert_equal nil, array[5,0]
end

def test_arrays_and_ranges
assert_equal __, (1..5).class
assert_equal Range, (1..5).class
assert_not_equal [1,2,3,4,5], (1..5)
assert_equal __, (1..5).to_a
assert_equal __, (1...5).to_a
assert_equal [1, 2, 3, 4, 5], (1..5).to_a
assert_equal [1, 2, 3, 4], (1...5).to_a
end

def test_slicing_with_ranges
array = [:peanut, :butter, :and, :jelly]

assert_equal __, array[0..2]
assert_equal __, array[0...2]
assert_equal __, array[2..-1]
assert_equal [:peanut, :butter, :and], array[0..2]
assert_equal [:peanut, :butter], array[0...2]
assert_equal [:and, :jelly], array[2..-1]
end

def test_pushing_and_popping_arrays
array = [1,2]
array.push(:last)

assert_equal __, array
assert_equal [1, 2, :last], array

popped_value = array.pop
assert_equal __, popped_value
assert_equal __, array
assert_equal :last, popped_value
assert_equal [1, 2], array
end

def test_shifting_arrays
array = [1,2]
array.unshift(:first)

assert_equal __, array
assert_equal [:first, 1, 2], array

shifted_value = array.shift
assert_equal __, shifted_value
assert_equal __, array
assert_equal :first, shifted_value
assert_equal [1, 2], array
end

end