- Коректно
- 4 успешни тест(а)
- 0 неуспешни тест(а)
.... Finished in 0.00648 seconds 4 examples, 0 failures
Срокът за предаване на решения е отминал
Нали помните онова за Monkey Patching-а…? :-)
Дефинирайте метод String#longest_sequence, който връща масив от тези символи
в низа, които имат най-дълги последователности в него. „Последователност“ ще
рече непрекъсната поредица от един и същ символ, например низът
'aaAA_32222BBB_)))' има 8 последователности:
['aa', 'AA', '_', '3', '2222', 'BBB', '_', ')))'], като най-дългата е
'2222', тоест 'aaAA_32222BBB_)))'.longest_sequence трябва да върне ['2'].
Ако има повече от един отговор, то връщате всички, като наредбата на
резултатите не е от значение, например: 'aaabbb23ccc'.longest_sequence може
да върне която и да е пермутация на масива ['a', 'b', 'c'].
Забележка: Във върнатия масив трябва да има низове (String) с дължина
1, а не символи (Symbol).
Примери:
'aab'.longest_sequence # => ['а']
'abba'.longest_sequence # => ['b']
'aaaaabbbbbddacccc'.longest_sequence # => ['a', 'b'] (Може и ['b', 'a'])
'.....??????&gh'.longest_sequence # => ['?']
P.S. Примерните тестове от вас. :-) Вярваме, че можете да си ги напишете сами.
.... Finished in 0.00648 seconds 4 examples, 0 failures
...F
Failures:
1) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
expected collection contained: ["a", "b"]
actual collection contained: ["a", "a", "b"]
the extra elements were: ["a"]
# /tmp/d20131202-25737-1bi4pp/spec.rb:27: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)>'
Finished in 0.00642 seconds
4 examples, 1 failure
Failed examples:
rspec /tmp/d20131202-25737-1bi4pp/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
.... Finished in 0.00636 seconds 4 examples, 0 failures
.... Finished in 0.00691 seconds 4 examples, 0 failures
.... Finished in 0.00836 seconds 4 examples, 0 failures
.... Finished in 0.00629 seconds 4 examples, 0 failures
.... Finished in 0.00664 seconds 4 examples, 0 failures
...F
Failures:
1) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
expected collection contained: ["a", "b"]
actual collection contained: ["a", "a", "b"]
the extra elements were: ["a"]
# /tmp/d20131202-25737-j3tfsc/spec.rb:27: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)>'
Finished in 0.00651 seconds
4 examples, 1 failure
Failed examples:
rspec /tmp/d20131202-25737-j3tfsc/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
.... Finished in 0.00671 seconds 4 examples, 0 failures
.... Finished in 0.00633 seconds 4 examples, 0 failures
.... Finished in 0.00961 seconds 4 examples, 0 failures
.... Finished in 0.00757 seconds 4 examples, 0 failures
.... Finished in 0.01269 seconds 4 examples, 0 failures
.... Finished in 0.00711 seconds 4 examples, 0 failures
FFFF
Failures:
1) #longest_sequence for an empty string should return an empty Array
Failure/Error: ''.longest_sequence.should eq []
NoMethodError:
undefined method `longest_sequence' for "":String
# /tmp/d20131202-25737-57t60i/spec.rb:4: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) #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
Failure/Error: 'aab'.longest_sequence.should eq ['a']
NoMethodError:
undefined method `longest_sequence' for "aab":String
# /tmp/d20131202-25737-57t60i/spec.rb:10: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)>'
3) #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
Failure/Error: 'aabb'.longest_sequence.should =~ ['a','b']
NoMethodError:
undefined method `longest_sequence' for "aabb":String
# /tmp/d20131202-25737-57t60i/spec.rb:19: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)>'
4) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
NoMethodError:
undefined method `longest_sequence' for "aaabbbaaa":String
# /tmp/d20131202-25737-57t60i/spec.rb:27: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)>'
Finished in 0.00488 seconds
4 examples, 4 failures
Failed examples:
rspec /tmp/d20131202-25737-57t60i/spec.rb:3 # #longest_sequence for an empty string should return an empty Array
rspec /tmp/d20131202-25737-57t60i/spec.rb:9 # #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
rspec /tmp/d20131202-25737-57t60i/spec.rb:18 # #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
rspec /tmp/d20131202-25737-57t60i/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
.... Finished in 0.00627 seconds 4 examples, 0 failures
.... Finished in 0.00647 seconds 4 examples, 0 failures
.... Finished in 0.00763 seconds 4 examples, 0 failures
.... Finished in 0.00769 seconds 4 examples, 0 failures
.... Finished in 0.00631 seconds 4 examples, 0 failures
FFFF
Failures:
1) #longest_sequence for an empty string should return an empty Array
Failure/Error: ''.longest_sequence.should eq []
NoMethodError:
undefined method `last' for nil:NilClass
# /tmp/d20131202-25737-h0oriu/solution.rb:11:in `longest_sequence'
# /tmp/d20131202-25737-h0oriu/spec.rb:4: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) #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
Failure/Error: 'aab'.longest_sequence.should eq ['a']
expected: ["a"]
got: ["[\"", "a", "\"]"]
(compared using ==)
# /tmp/d20131202-25737-h0oriu/spec.rb:10: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)>'
3) #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
Failure/Error: 'aabb'.longest_sequence.should =~ ['a','b']
expected collection contained: ["a", "b"]
actual collection contained: ["\", \"", "\"]", "[\"", "a", "b"]
the extra elements were: ["\", \"", "\"]", "[\""]
# /tmp/d20131202-25737-h0oriu/spec.rb:19: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)>'
4) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
expected collection contained: ["a", "b"]
actual collection contained: ["\", \"", "\", \"", "\"]", "[\"", "a", "a", "b"]
the extra elements were: ["\", \"", "\", \"", "\"]", "[\"", "a"]
# /tmp/d20131202-25737-h0oriu/spec.rb:27: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)>'
Finished in 0.0067 seconds
4 examples, 4 failures
Failed examples:
rspec /tmp/d20131202-25737-h0oriu/spec.rb:3 # #longest_sequence for an empty string should return an empty Array
rspec /tmp/d20131202-25737-h0oriu/spec.rb:9 # #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
rspec /tmp/d20131202-25737-h0oriu/spec.rb:18 # #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
rspec /tmp/d20131202-25737-h0oriu/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
.... Finished in 0.00651 seconds 4 examples, 0 failures
.... Finished in 0.0067 seconds 4 examples, 0 failures
.FF.
Failures:
1) #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
Failure/Error: '.....??????&gh'.longest_sequence.should eq ['?']
expected: ["?"]
got: ["."]
(compared using ==)
# /tmp/d20131202-25737-kx8n7g/spec.rb:13: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) #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
Failure/Error: '.....??????&ggggggh'.longest_sequence.should =~ ['g', '?']
expected collection contained: ["?", "g"]
actual collection contained: ["."]
the missing elements were: ["?", "g"]
the extra elements were: ["."]
# /tmp/d20131202-25737-kx8n7g/spec.rb:22: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)>'
Finished in 0.00767 seconds
4 examples, 2 failures
Failed examples:
rspec /tmp/d20131202-25737-kx8n7g/spec.rb:9 # #longest_sequence for a string with only one longest sequence should return only the symbol that it is comprised of
rspec /tmp/d20131202-25737-kx8n7g/spec.rb:18 # #longest_sequence for a string with multiple longest sequences should return an array containg the symbols they are comprised of
.... Finished in 0.00665 seconds 4 examples, 0 failures
.... Finished in 0.00663 seconds 4 examples, 0 failures
.... Finished in 0.00637 seconds 4 examples, 0 failures
.... Finished in 0.00649 seconds 4 examples, 0 failures
.... Finished in 0.00652 seconds 4 examples, 0 failures
.... Finished in 0.00761 seconds 4 examples, 0 failures
.... Finished in 0.00632 seconds 4 examples, 0 failures
.... Finished in 0.00825 seconds 4 examples, 0 failures
.... Finished in 0.00696 seconds 4 examples, 0 failures
...F
Failures:
1) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
expected collection contained: ["a", "b"]
actual collection contained: ["a", "a", "b"]
the extra elements were: ["a"]
# /tmp/d20131202-25737-19uicbr/spec.rb:27: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)>'
Finished in 0.00824 seconds
4 examples, 1 failure
Failed examples:
rspec /tmp/d20131202-25737-19uicbr/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
.... Finished in 0.00651 seconds 4 examples, 0 failures
.... Finished in 0.00831 seconds 4 examples, 0 failures
.... Finished in 0.0211 seconds 4 examples, 0 failures
.... Finished in 0.00729 seconds 4 examples, 0 failures
...F
Failures:
1) #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once
Failure/Error: 'aaabbbaaa'.longest_sequence.should =~ ['a', 'b']
expected collection contained: ["a", "b"]
actual collection contained: ["a", "a", "b"]
the extra elements were: ["a"]
# /tmp/d20131202-25737-q56tik/spec.rb:27: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)>'
Finished in 0.00671 seconds
4 examples, 1 failure
Failed examples:
rspec /tmp/d20131202-25737-q56tik/spec.rb:26 # #longest_sequence for a string with multiple longest sequences comprised of the same symbol should return an array that contains the symbol only once