46 lines
1.0 KiB
Ruby
46 lines
1.0 KiB
Ruby
# 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
|