Решение на Четвърта задача от Йончо Йончев

Обратно към всички решения

Към профила на Йончо Йончев

Резултати

  • 1 точка от тестове
  • 0 бонус точки
  • 1 точка общо
  • 1 успешни тест(а)
  • 10 неуспешни тест(а)

Код

module UI
class TextScreen
def initialize(output = "")
@output = output
end
def self.draw (&block)
case @block
when :label then label(text)
end
end
end
def label(text )
return text
end
end

Лог от изпълнението

FFFFFFFFFF.

Failures:

  1) Command Line Toolkit arranges components horizontally by default
     Failure/Error: expect do
       expected #<Proc:0xb898ad88@/tmp/d20141126-26053-19jnjpz/spec.rb:20> to render as "      123\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:20: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) Command Line Toolkit adding horizontal group does not change the behavior
     Failure/Error: expect do
       expected #<Proc:0xb8983b64@/tmp/d20141126-26053-19jnjpz/spec.rb:30> to render as "      123\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:30: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) Command Line Toolkit verical group orders elements vertically
     Failure/Error: expect do
       expected #<Proc:0xb898241c@/tmp/d20141126-26053-19jnjpz/spec.rb:42> to render as "      1\n      2\n      3\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:42: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) Command Line Toolkit handles complex group nestings
     Failure/Error: expect do
       expected #<Proc:0xb89803d8@/tmp/d20141126-26053-19jnjpz/spec.rb:56> to render as "      123\n        45\n         6\n      7\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:56: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) Command Line Toolkit wraps vertically-aligned components correctly in border
     Failure/Error: expect do
       expected #<Proc:0xb897da84@/tmp/d20141126-26053-19jnjpz/spec.rb:85> to render as "      |something|\n      |some     |\n      |soommee  |\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:85: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) Command Line Toolkit handles borders correctly in complex group nestings
     Failure/Error: expect do
       expected #<Proc:0xb8975848@/tmp/d20141126-26053-19jnjpz/spec.rb:99> to render as "      |||1||2|||3|       |||\n      ||      |||4|||5||||||\n      ||      ||   ||6||||||\n      ||7|                 |\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:99: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) Command Line Toolkit applies upcase to simple components
     Failure/Error: expect do
       expected #<Proc:0xb8962ab8@/tmp/d20141126-26053-19jnjpz/spec.rb:128> to render as "      SOMEvery\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:128: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) Command Line Toolkit propagates upcase to child components
     Failure/Error: expect do
       expected #<Proc:0xb895a2c8@/tmp/d20141126-26053-19jnjpz/spec.rb:137> to render as "      someveryINTERESTINGget it?\n              TEXTGOES       \n                  HERE       \n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:137: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) Command Line Toolkit applies downcase to simple components
     Failure/Error: expect do
       expected #<Proc:0xb894fea4@/tmp/d20141126-26053-19jnjpz/spec.rb:163> to render as "      SOMEvery\n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:163: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) Command Line Toolkit propagates downcase to child components
     Failure/Error: expect do
       expected #<Proc:0xb894e0f4@/tmp/d20141126-26053-19jnjpz/spec.rb:172> to render as "      SOMEVERYinterestingGET IT?\n              textgoes       \n                  here       \n"
     # /tmp/d20141126-26053-19jnjpz/spec.rb:172: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.02298 seconds
11 examples, 10 failures

Failed examples:

rspec /tmp/d20141126-26053-19jnjpz/spec.rb:19 # Command Line Toolkit arranges components horizontally by default
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:29 # Command Line Toolkit adding horizontal group does not change the behavior
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:41 # Command Line Toolkit verical group orders elements vertically
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:55 # Command Line Toolkit handles complex group nestings
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:84 # Command Line Toolkit wraps vertically-aligned components correctly in border
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:98 # Command Line Toolkit handles borders correctly in complex group nestings
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:127 # Command Line Toolkit applies upcase to simple components
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:136 # Command Line Toolkit propagates upcase to child components
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:162 # Command Line Toolkit applies downcase to simple components
rspec /tmp/d20141126-26053-19jnjpz/spec.rb:171 # Command Line Toolkit propagates downcase to child components

История (1 версия и 0 коментара)

Йончо обнови решението на 24.11.2014 15:41 (преди около 10 години)

+module UI
+
+ class TextScreen
+
+ def initialize(output = "")
+ @output = output
+ end
+
+ def self.draw (&block)
+ case @block
+ when :label then label(text)
+ end
+ end
+
+ end
+
+ def label(text )
+ return text
+ end
+end