From 6b87d5b8dfd76d40332d27ffd691695509c649a2 Mon Sep 17 00:00:00 2001 From: Adam Scott Date: Sun, 12 Feb 2012 15:15:23 +0800 Subject: [PATCH] Moved eventually matcher out and port factory method. --- spec/mailbox_spec.rb | 36 +----------------------------------- spec/matchers/eventually.rb | 30 ++++++++++++++++++++++++++++++ spec/port.rb | 5 +++++ 3 files changed, 36 insertions(+), 35 deletions(-) create mode 100644 spec/matchers/eventually.rb diff --git a/spec/mailbox_spec.rb b/spec/mailbox_spec.rb index 65ed3f6..813558e 100644 --- a/spec/mailbox_spec.rb +++ b/spec/mailbox_spec.rb @@ -1,5 +1,6 @@ require 'mailbox' require 'port' +require 'matchers/eventually' describe Mailbox do @@ -27,10 +28,6 @@ end it 'should not allow a second server to be started on the same port' - - def port(port) - Port.new(port) - end end describe 'should accept SMTP traffic' do @@ -56,34 +53,3 @@ def port(port) end end - -class Eventually - def initialize(delegate) - @delegate = delegate - end - - def matches?(target) - @target = target - - count = 0 - until(@delegate.matches?(target)) do - return false if count >= 10 - sleep(0.1) - count += 1 - end - - true - end - - def failure_message - @delegate.failure_message - end - - def negative_failure_message - @delegate.negative_failure_message - end -end - -def eventually(delegate) - Eventually.new(delegate) -end \ No newline at end of file diff --git a/spec/matchers/eventually.rb b/spec/matchers/eventually.rb new file mode 100644 index 0000000..820d8e0 --- /dev/null +++ b/spec/matchers/eventually.rb @@ -0,0 +1,30 @@ +class Eventually + def initialize(delegate) + @delegate = delegate + end + + def matches?(target) + @target = target + + count = 0 + until(@delegate.matches?(target)) do + return false if count >= 10 + sleep(0.1) + count += 1 + end + + true + end + + def failure_message + @delegate.failure_message + end + + def negative_failure_message + @delegate.negative_failure_message + end +end + +def eventually(delegate) + Eventually.new(delegate) +end \ No newline at end of file diff --git a/spec/port.rb b/spec/port.rb index 8384544..1ecb03f 100644 --- a/spec/port.rb +++ b/spec/port.rb @@ -23,4 +23,9 @@ def open? return false end end + + +def port(port) + Port.new(port) +end \ No newline at end of file