Skip to content
Open
Show file tree
Hide file tree
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
15 changes: 14 additions & 1 deletion lib/array_equals.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Determines if the two input arrays have the same count of elements
# and the same integer values in the same exact order

def array_equals(array1, array2)
raise NotImplementedError
if array1.length == array2.length

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if one or both of the arrays are nil?

number = array1.length
number.times do |i|
if array1[i] != array2[i]
return false
end
end
return true
end
return false
end



34 changes: 17 additions & 17 deletions test/array_equals_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,65 +7,65 @@
it "arrays are equal" do
array1 = [10, 20, 30, 40, 50, 60]
array2 = [10, 20, 30, 40, 50, 60]

array_equals(array1, array2).must_equal true
end

it "arrays not equal: first six elements are same" do
array1 = [10, 20, 30, 40, 50, 60]
array2 = [10, 20, 30, 40, 50, 60, 70]

array_equals(array1, array2).must_equal false
end

it "arrays not equal: same count of elements" do
array1 = [10, 20, 30, 40, 50, 60]
array2 = [20, 3, 50, 10, 68, 74]

array_equals(array1, array2).must_equal false
end
end

describe "edge cases" do
it "arrays are empty: equal" do
array1 = []
array2 = []

array_equals(array1, array2).must_equal true
end

it "only first array is empty: not equal" do
array1 = []
array2 = [50, 30]

array_equals(array1, array2).must_equal false
end

it "only second array is empty: not equal" do
array1 = [20]
array2 = []

array_equals(array1, array2).must_equal false
end

it "arrays are nil: equal" do
array1 = nil
array2 = nil

array_equals(array1, array2).must_equal true
end

it "only first array is nil: not equal" do
array1 = nil
array2 = [10, 20]

array_equals(array1, array2).must_equal false
end

it "only second array is nil: not equal" do
array1 = [20]
array2 = nil

array_equals(array1, array2).must_equal false
end
end
Expand Down