arr = [1, 2, 3] new_arr1 = push(arr, item = 4) new_arr2 = push(new_arr1, item = 5) assert(new_arr1[0], isEqualTo = 1, error = "element 0 should not have changed") assert(new_arr1[1], isEqualTo = 2, error = "element 1 should not have changed") assert(new_arr1[2], isEqualTo = 3, error = "element 2 should not have changed") assert(new_arr1[3], isEqualTo = 4, error = "4 was added to the end of the array") assert(new_arr2[0], isEqualTo = 1, error = "element 0 should not have changed") assert(new_arr2[1], isEqualTo = 2, error = "element 1 should not have changed") assert(new_arr2[2], isEqualTo = 3, error = "element 2 should not have changed") assert(new_arr2[3], isEqualTo = 4, error = "4 was added to the end of the array") assert(new_arr2[4], isEqualTo = 5, error = "5 was added to the end of the array")