# Nathan Hinton 2 Oct 2025 require './universe_array' RSpec.describe UniverseArray do describe '#[]' do it 'works with indexes' do uni_arr = UniverseArray.new() uni_arr[0] = [] uni_arr[0][0] = 'hi' expect(uni_arr[0][0]).to eq 'hi' end it 'works with positions' do uni_arr = UniverseArray.new() uni_arr[0] = [] uni_arr[0][0] = 'hi' expect(uni_arr[Position.new(0, 0)]).to eq 'hi' end it 'returns nil when access outside universe' do uni_arr = UniverseArray.new() uni_arr[3] = [] expect(uni_arr[Position.new(3, 51)]).to eq nil expect(uni_arr[Position.new(0, 0)]).to eq nil end end describe '#[]=' do it 'works with indexes' do uni_arr = UniverseArray.new() uni_arr[0] = [] uni_arr[0][0] = 'hi' expect(uni_arr[0][0]).to eq 'hi' end it 'works with positions' do uni_arr = UniverseArray.new() uni_arr[0] = [] uni_arr[Position.new(0, 0)] = 'hi' expect(uni_arr[Position.new(0, 0)]).to eq 'hi' end end end