diff options
| author | mokha <mokha@cisco.com> | 2017-09-18 13:38:10 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2017-09-18 13:38:10 -0600 |
| commit | fd7cbd2873beea3290d3e6a1b866b158e708de3d (patch) | |
| tree | 2db865c12824aa2454eb98587dfa518178bc2d6a /spec/heaps_stacks_queues/decode_string_spec.rb | |
| parent | df1a4a524e6cdaccbc8579246151ce5b99ec1f37 (diff) | |
complete first 2 tests.
Diffstat (limited to 'spec/heaps_stacks_queues/decode_string_spec.rb')
| -rw-r--r-- | spec/heaps_stacks_queues/decode_string_spec.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/spec/heaps_stacks_queues/decode_string_spec.rb b/spec/heaps_stacks_queues/decode_string_spec.rb index 271315d..5049455 100644 --- a/spec/heaps_stacks_queues/decode_string_spec.rb +++ b/spec/heaps_stacks_queues/decode_string_spec.rb @@ -40,8 +40,23 @@ Guaranteed constraints: DOC describe "#decode_string" do + REGEX = /^*(\d)\[(.*)\]$/ + + def decode(count, message) + if REGEX.match?(message) + x = message[0] + +puts [message, x].inspect + y, z = message.scan(REGEX)[0] + "#{x}#{decode(y.to_i, z)}" * count + else + message * count + end + end + def decode_string(message) - message + x, y = message.scan(REGEX)[0] + decode(x.to_i, y) end [ |
