Решение на Втора задача от Николай Станев
Обратно към всички решения
Към профила на Николай Станев
Резултати
- 2 точки от тестове
- 0 бонус точки
- 2 точки общо
- 7 успешни тест(а)
- 13 неуспешни тест(а)
Код
Лог от изпълнението
FFFFFFFFFFFF.......F
Failures:
1) #move moves snake up/right/left/down
Failure/Error: expect(move(snake, [1, 0])).to eq([[2, 3], [2, 4], [2, 5], [3, 5]])
expected: [[2, 3], [2, 4], [2, 5], [3, 5]]
got: [[2, 4], [2, 5], [2, 6], [3, 6]]
(compared using ==)
# /tmp/d20151026-15631-vsilag/spec.rb:6:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
2) #move moves one-position-sized snake
Failure/Error: expect(move([[2, 2]], [-1, 0])).to eq([[1, 2]])
expected: [[1, 2]]
got: [[2, 2], [1, 2]]
(compared using ==)
# /tmp/d20151026-15631-vsilag/spec.rb:12:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
3) #move does not mutate the given arguments
Failure/Error: expect { move(snake, direction) }.not_to change { snake }
result should not have changed, but did change from [[2, 2], [2, 3], [2, 4], [2, 5]] to [[2, 3], [2, 4], [2, 5], [2, 6]]
# /tmp/d20151026-15631-vsilag/spec.rb:17:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
4) #grow grows snake up/right/left/down
Failure/Error: expect(grow(snake, [1, 0])).to eq([[2, 2], [2, 3], [2, 4], [2, 5], [3, 5]])
expected: [[2, 2], [2, 3], [2, 4], [2, 5], [3, 5]]
got: [[2, 3], [2, 4], [2, 5], [2, 6], [3, 6]]
(compared using ==)
# /tmp/d20151026-15631-vsilag/spec.rb:27:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
5) #grow grows one-position-sized snake
Failure/Error: expect(grow([[2, 2]], [-1, 0])).to eq([[2, 2], [1, 2]])
expected: [[2, 2], [1, 2]]
got: [[2, 2], [2, 2], [1, 2]]
(compared using ==)
# /tmp/d20151026-15631-vsilag/spec.rb:33:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
6) #grow does not mutate the given arguments
Failure/Error: expect { grow(snake, direction) }.not_to change { snake }
result should not have changed, but did change from [[2, 2], [2, 3], [2, 4], [2, 5]] to [[2, 3], [2, 4], [2, 5], [2, 6]]
# /tmp/d20151026-15631-vsilag/spec.rb:38:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
7) #new_food generates food on empty position
Failure/Error: let(:next_food) { new_food(food, snake, dimensions) }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:47:in `block (2 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:53:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
8) #new_food does not generate food outside of borders (width)
Failure/Error: let(:next_food) { new_food(food, snake, dimensions) }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:47:in `block (2 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:57:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
9) #new_food does not generate food outside of borders (height)
Failure/Error: let(:next_food) { new_food(food, snake, dimensions) }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:47:in `block (2 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:61:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
10) #new_food does not generate food on position where the snake is
Failure/Error: let(:next_food) { new_food(food, snake, dimensions) }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:47:in `block (2 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:65:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
11) #new_food does not generate food on position where food is already present
Failure/Error: let(:next_food) { new_food(food, snake, dimensions) }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:47:in `block (2 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:69:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
12) #new_food does not mutate the given arguments
Failure/Error: expect { new_food(food, snake, dimensions) }.not_to change { snake }
ArgumentError:
wrong number of arguments (3 for 2)
# /tmp/d20151026-15631-vsilag/solution.rb:39:in `new_food'
# /tmp/d20151026-15631-vsilag/spec.rb:73:in `block (3 levels) in <top (required)>'
# /tmp/d20151026-15631-vsilag/spec.rb:73:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
13) #danger? does not mutate the given arguments
Failure/Error: expect { danger?(snake, direction, dimensions) }.not_to change { snake }
result should not have changed, but did change from [[1, 2], [1, 3]] to [[1, 3], [1, 4]]
# /tmp/d20151026-15631-vsilag/spec.rb:123:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>'
Finished in 0.0113 seconds
20 examples, 13 failures
Failed examples:
rspec /tmp/d20151026-15631-vsilag/spec.rb:4 # #move moves snake up/right/left/down
rspec /tmp/d20151026-15631-vsilag/spec.rb:11 # #move moves one-position-sized snake
rspec /tmp/d20151026-15631-vsilag/spec.rb:15 # #move does not mutate the given arguments
rspec /tmp/d20151026-15631-vsilag/spec.rb:25 # #grow grows snake up/right/left/down
rspec /tmp/d20151026-15631-vsilag/spec.rb:32 # #grow grows one-position-sized snake
rspec /tmp/d20151026-15631-vsilag/spec.rb:36 # #grow does not mutate the given arguments
rspec /tmp/d20151026-15631-vsilag/spec.rb:49 # #new_food generates food on empty position
rspec /tmp/d20151026-15631-vsilag/spec.rb:56 # #new_food does not generate food outside of borders (width)
rspec /tmp/d20151026-15631-vsilag/spec.rb:60 # #new_food does not generate food outside of borders (height)
rspec /tmp/d20151026-15631-vsilag/spec.rb:64 # #new_food does not generate food on position where the snake is
rspec /tmp/d20151026-15631-vsilag/spec.rb:68 # #new_food does not generate food on position where food is already present
rspec /tmp/d20151026-15631-vsilag/spec.rb:72 # #new_food does not mutate the given arguments
rspec /tmp/d20151026-15631-vsilag/spec.rb:120 # #danger? does not mutate the given arguments
История (2 версии и 2 коментара)
Николай обнови решението на 17.10.2015 00:44 (преди над 9 години)
Николай обнови решението на 18.10.2015 17:53 (преди над 9 години)