diff options
Diffstat (limited to 'test/test_observer.rb')
-rw-r--r-- | test/test_observer.rb | 66 |
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 |