parent
a78bb9d70a
commit
eeb4f8366c
@ -0,0 +1,31 @@
|
||||
class State
|
||||
attr_reader :floors, :elevator
|
||||
|
||||
def initialize(input)
|
||||
@floors = input.lines.reverse.map.with_index {|line, index|
|
||||
_, e, *items = line.split(/\s+/)
|
||||
@elevator = index if e == ?E
|
||||
items.reject {|item| item == ?. }
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
require 'minitest/autorun'
|
||||
|
||||
class TestDay11 < Minitest::Test
|
||||
def test_initialize
|
||||
input = <<-INPUT
|
||||
F4 . . . . .
|
||||
F3 . . . LG .
|
||||
F2 . HG . . .
|
||||
F1 E . HM . LM
|
||||
INPUT
|
||||
|
||||
state = State.new(input)
|
||||
assert_equal 4, state.floors.size
|
||||
assert_equal 0, state.elevator
|
||||
|
||||
floor = state.floors[0]
|
||||
assert_equal 2, floor.size
|
||||
end
|
||||
end
|
Loading…
Reference in new issue