about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-11-13 01:14:29 -0800
committerEric Wong <normalperson@yhbt.net>2009-11-13 01:14:29 -0800
commit474f31b22bdc90a1baf0cc5cc5e5a0cf22f5710a (patch)
treeb1754969177831cd06120249e8606c86443ef41d
parenteead1a80dd5fdca57cc8aa0333d249415ba2d85a (diff)
downloadupr-474f31b22bdc90a1baf0cc5cc5e5a0cf22f5710a.tar.gz
tests: add Monitor tests (also reaches into Status)
-rw-r--r--test/test_monitor.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/test_monitor.rb b/test/test_monitor.rb
new file mode 100644
index 0000000..bfa9a7c
--- /dev/null
+++ b/test/test_monitor.rb
@@ -0,0 +1,58 @@
+require 'test/unit'
+require 'upr'
+
+class MonitorTest < Test::Unit::TestCase
+  def setup
+    @monitor = Upr::Monitor.new
+  end
+
+  def test_start_with_length
+    assert_kind_of Upr::Status, @monitor.start('abcde', 5)
+    status = @monitor.read('abcde')
+    assert_equal 5, status.length
+    assert_equal 0, status.seen
+    assert ! status.error?
+    assert ! status.done?
+  end
+
+  def test_start_without_length
+    assert_kind_of Upr::Status, @monitor.start('abcde', nil)
+    status = @monitor.read('abcde')
+    assert_nil status.length
+    assert_equal 0, status.seen
+    assert ! status.error?
+    assert ! status.done?
+  end
+
+  def test_to_incr
+    assert_kind_of Upr::Status, @monitor.start('abcde', 5)
+    status = @monitor.incr('abcde', 2)
+    assert_kind_of Upr::Status, status
+    assert_equal 2, status.seen
+    assert ! status.error?
+    assert ! status.done?
+    @monitor.incr('abcde', 3)
+    assert_equal 5, status.seen
+    assert ! status.error?
+    assert status.done?
+  end
+
+  def test_finish_with_length
+    assert_kind_of Upr::Status, status = @monitor.start('abcde', 5)
+    @monitor.finish('abcde')
+    assert ! status.error?
+    assert status.done?
+    assert_equal 5, status.seen
+    assert_equal 5, status.length
+  end
+
+  def test_finish_without_length
+    assert_kind_of Upr::Status, status = @monitor.start('abcde', nil)
+    @monitor.finish('abcde')
+    assert ! status.error?
+    assert status.done?
+    assert_equal 0, status.seen
+    assert_equal 0, status.length
+  end
+
+end