Решение на Трета задача от Велислав Симеонов
Обратно към всички решения
Към профила на Велислав Симеонов
Резултати
- 2 точки от тестове
- 0 бонус точки
- 2 точки общо
- 18 успешни тест(а)
- 26 неуспешни тест(а)
Код
Лог от изпълнението
.F..F...FFFFFFFFF......FF.FFF.FF.FF.FF.FF.FF
Failures:
1) RBFS Directory can create empty directory
Failure/Error: expect(directory.directories.keys ).to eq ['home']
expected: ["home"]
got: []
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:152:in `block (3 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) RBFS Directory without files can be serialized
Failure/Error: expect(directory.serialize).to eq '0:0:'
expected: "0:0:"
got: "{}"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:11:in `block (4 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) RBFS Directory serialization #serialize can serialize
Failure/Error: expect(directory.serialize).to eq simple_serialized_string
expected: "2:README:19:string:Hello world!spec.rb:20:string:describe RBFS1:rbfs:4:0:0:"
got: "{\"README\"=>#<RBFS::File:0xb980df04 @data=\"Hello world!\">, \"spec.rb\"=>#<RBFS::File:0xb980de8c @data=\"describe RBFS\">, \"rbfs\"=>nil}"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:81:in `block (5 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) RBFS Directory serialization #serialize can serialize multiple directories recursively
Failure/Error: directory['rbfs'].add_file 'solution.rb', RBFS::File.new(:hidden)
NoMethodError:
undefined method `add_file' for {"rbfs"=>nil}:Hash
# /tmp/d20141111-26053-o4lp9/spec.rb:91:in `block (5 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) RBFS Directory serialization ::parse can parse empty directories
Failure/Error: parsed_directory = RBFS::Directory.parse('0:0:')
NoMethodError:
undefined method `parse' for RBFS::Directory:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:101:in `block (5 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) RBFS Directory serialization ::parse can parse directories with files
Failure/Error: parsed_directory = RBFS::Directory.parse(simple_serialized_string)
NoMethodError:
undefined method `parse' for RBFS::Directory:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:108:in `block (5 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) RBFS Directory serialization ::parse can parse directory trees without files
Failure/Error: parsed_directory = RBFS::Directory.parse('0:2:dir1:15:0:1:dir2:4:0:0:dir3:4:0:0:')
NoMethodError:
undefined method `parse' for RBFS::Directory:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:117:in `block (5 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) RBFS Directory serialization ::parse can parse directories recursively
Failure/Error: parsed_directory = RBFS::Directory.parse(recursive_serialized_string)
NoMethodError:
undefined method `parse' for RBFS::Directory:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:125:in `block (5 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) RBFS Directory #[] can walk a single directory
Failure/Error: expect(directory['home']).to eq home
expected: #<RBFS::Directory:0xb979bc88 @dir={"user"=>#<RBFS::Directory:0xb979bbd4 @dir={"ruby"=>#<RBFS::Directory:0xb979bb0c @dir={"file"=>#<RBFS::File:0xb979ba1c @data="hi">}>}>}>
got: {"home"=>#<RBFS::Directory:0xb979bc88 @dir={"user"=>#<RBFS::Directory:0xb979bbd4 @dir={"ruby"=>#<RBFS::Directory:0xb979bb0c @dir={"file"=>#<RBFS::File:0xb979ba1c @data="hi">}>}>}>}
(compared using ==)
Diff:
@@ -1,9 +1,2 @@
-#<RBFS::Directory:0xb979bc88
- @dir=
- {"user"=>
- #<RBFS::Directory:0xb979bbd4
- @dir=
- {"ruby"=>
- #<RBFS::Directory:0xb979bb0c
- @dir={"file"=>#<RBFS::File:0xb979ba1c @data="hi">}>}>}>
+"home" => #<RBFS::Directory:0xb979bc88 @dir={"user"=>#<RBFS::Directory:0xb979bbd4 @dir={"ruby"=>#<RBFS::Directory:0xb979bb0c @dir={"file"=>#<RBFS::File:0xb979ba1c @data="hi">}>}>}>
# /tmp/d20141111-26053-o4lp9/spec.rb:178:in `block (4 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) RBFS Directory #[] can walk multiple directories
Failure/Error: expect(directory['home']['user']['ruby']).to eq ruby
NoMethodError:
undefined method `[]' for nil:NilClass
# /tmp/d20141111-26053-o4lp9/spec.rb:182:in `block (4 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) RBFS Directory #[] can get files
Failure/Error: expect(directory['home']['user']['ruby']['file']).to eq file
NoMethodError:
undefined method `[]' for nil:NilClass
# /tmp/d20141111-26053-o4lp9/spec.rb:186:in `block (4 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) RBFS File data type nil can be serialized
Failure/Error: expect(file.serialize).to eq 'nil:'
expected: "nil:"
got: ""
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:226:in `block (5 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) RBFS File data type nil can be parsed
Failure/Error: file = RBFS::File.parse('nil:')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:230:in `block (5 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)>'
14) RBFS File data type string can be serialized
Failure/Error: expect(file.serialize).to eq 'string:Hi'
expected: "string:Hi"
got: "Hi"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:244:in `block (5 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)>'
15) RBFS File data type string can be parsed
Failure/Error: file = RBFS::File.parse('string:Hey there')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:248:in `block (5 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)>'
16) RBFS File data type string can parse a string with colons
Failure/Error: file = RBFS::File.parse('string:Hay :)')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:255:in `block (5 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)>'
17) RBFS File data type symbol can be serialized
Failure/Error: expect(file.serialize).to eq 'symbol:yo'
expected: "symbol:yo"
got: "yo"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:270:in `block (5 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)>'
18) RBFS File data type symbol can be parsed
Failure/Error: file = RBFS::File.parse('symbol:hello')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:274:in `block (5 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)>'
19) RBFS File data type number can be serialized
Failure/Error: expect(file.serialize).to eq 'number:666'
expected: "number:666"
got: "666"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:289:in `block (5 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)>'
20) RBFS File data type number can be parsed
Failure/Error: file = RBFS::File.parse('number:1234')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:293:in `block (5 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)>'
21) RBFS File data type float number can be serialized
Failure/Error: expect(file.serialize).to eq 'number:666.6'
expected: "number:666.6"
got: "666.6"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:308:in `block (5 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)>'
22) RBFS File data type float number can be parsed
Failure/Error: file = RBFS::File.parse('number:3.14')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:312:in `block (5 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)>'
23) RBFS File data type boolean true can be serialized
Failure/Error: expect(file.serialize).to eq 'boolean:true'
expected: "boolean:true"
got: "true"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:328:in `block (6 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)>'
24) RBFS File data type boolean true can be parsed
Failure/Error: file = RBFS::File.parse('boolean:true')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:332:in `block (6 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)>'
25) RBFS File data type boolean false can be serialized
Failure/Error: expect(file.serialize).to eq 'boolean:false'
expected: "boolean:false"
got: "false"
(compared using ==)
# /tmp/d20141111-26053-o4lp9/spec.rb:347:in `block (6 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)>'
26) RBFS File data type boolean false can be parsed
Failure/Error: file = RBFS::File.parse('boolean:false')
NoMethodError:
undefined method `parse' for RBFS::File:Class
# /tmp/d20141111-26053-o4lp9/spec.rb:351:in `block (6 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.04547 seconds
44 examples, 26 failures
Failed examples:
rspec /tmp/d20141111-26053-o4lp9/spec.rb:149 # RBFS Directory can create empty directory
rspec /tmp/d20141111-26053-o4lp9/spec.rb:10 # RBFS Directory without files can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:76 # RBFS Directory serialization #serialize can serialize
rspec /tmp/d20141111-26053-o4lp9/spec.rb:84 # RBFS Directory serialization #serialize can serialize multiple directories recursively
rspec /tmp/d20141111-26053-o4lp9/spec.rb:100 # RBFS Directory serialization ::parse can parse empty directories
rspec /tmp/d20141111-26053-o4lp9/spec.rb:107 # RBFS Directory serialization ::parse can parse directories with files
rspec /tmp/d20141111-26053-o4lp9/spec.rb:116 # RBFS Directory serialization ::parse can parse directory trees without files
rspec /tmp/d20141111-26053-o4lp9/spec.rb:124 # RBFS Directory serialization ::parse can parse directories recursively
rspec /tmp/d20141111-26053-o4lp9/spec.rb:177 # RBFS Directory #[] can walk a single directory
rspec /tmp/d20141111-26053-o4lp9/spec.rb:181 # RBFS Directory #[] can walk multiple directories
rspec /tmp/d20141111-26053-o4lp9/spec.rb:185 # RBFS Directory #[] can get files
rspec /tmp/d20141111-26053-o4lp9/spec.rb:225 # RBFS File data type nil can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:229 # RBFS File data type nil can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:243 # RBFS File data type string can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:247 # RBFS File data type string can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:254 # RBFS File data type string can parse a string with colons
rspec /tmp/d20141111-26053-o4lp9/spec.rb:269 # RBFS File data type symbol can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:273 # RBFS File data type symbol can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:288 # RBFS File data type number can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:292 # RBFS File data type number can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:307 # RBFS File data type float number can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:311 # RBFS File data type float number can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:326 # RBFS File data type boolean true can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:331 # RBFS File data type boolean true can be parsed
rspec /tmp/d20141111-26053-o4lp9/spec.rb:345 # RBFS File data type boolean false can be serialized
rspec /tmp/d20141111-26053-o4lp9/spec.rb:350 # RBFS File data type boolean false can be parsed
История (2 версии и 0 коментара)
Велислав обнови решението на 09.11.2014 17:07 (преди около 10 години)
Велислав обнови решението на 09.11.2014 17:10 (преди около 10 години)