diff --git a/lib/array_equals.rb b/lib/array_equals.rb index 58e8369..144b772 100644 --- a/lib/array_equals.rb +++ b/lib/array_equals.rb @@ -1,5 +1,31 @@ +# Author: Farah Davoodi - Branches + # 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 == nil && array2 == nil + return true + + elsif array1 == [] && array2 == [] + return true + + elsif (array1 == nil && array2 != nil) || (array1 != nil && array2 == nil) + return false + + elsif array1.length != array2.length + return false + + else + i = 0 + + while i < array1.length + if array1[i] == array2[i] + i += 1 + else + return false + end + end + return true + end end diff --git a/test/array_equals_test.rb b/test/array_equals_test.rb index f745cf7..a0dedb0 100644 --- a/test/array_equals_test.rb +++ b/test/array_equals_test.rb @@ -1,6 +1,9 @@ require 'minitest/autorun' require 'minitest/reporters' require_relative '../lib/array_equals' +require 'pry' + +Minitest::Reporters.use! describe "array equals" do describe "basic tests" do @@ -21,7 +24,7 @@ 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