summaryrefslogtreecommitdiff
path: root/test/test_observer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_observer.rb')
-rw-r--r--test/test_observer.rb66
1 files changed, 0 insertions, 66 deletions
diff --git a/test/test_observer.rb b/test/test_observer.rb
deleted file mode 100644
index 8f8f24b3c5..0000000000
--- a/test/test_observer.rb
+++ /dev/null
@@ -1,66 +0,0 @@
-# frozen_string_literal: true
-require 'test/unit'
-require 'observer'
-
-class TestObserver < Test::Unit::TestCase
- class TestObservable
- include Observable
-
- def notify(*args)
- changed
- notify_observers(*args)
- end
- end
-
- class TestWatcher
- def initialize(observable)
- @notifications = []
- observable.add_observer(self)
- end
-
- attr_reader :notifications
-
- def update(*args)
- @notifications << args
- end
- end
-
- def test_observers
- observable = TestObservable.new
-
- assert_equal(0, observable.count_observers)
-
- watcher1 = TestWatcher.new(observable)
-
- assert_equal(1, observable.count_observers)
-
- observable.notify("test", 123)
-
- watcher2 = TestWatcher.new(observable)
-
- assert_equal(2, observable.count_observers)
-
- observable.notify(42)
-
- assert_equal([["test", 123], [42]], watcher1.notifications)
- assert_equal([[42]], watcher2.notifications)
-
- observable.delete_observer(watcher1)
-
- assert_equal(1, observable.count_observers)
-
- observable.notify(:cats)
-
- assert_equal([["test", 123], [42]], watcher1.notifications)
- assert_equal([[42], [:cats]], watcher2.notifications)
-
- observable.delete_observers
-
- assert_equal(0, observable.count_observers)
-
- observable.notify("nope")
-
- assert_equal([["test", 123], [42]], watcher1.notifications)
- assert_equal([[42], [:cats]], watcher2.notifications)
- end
-end