Home | Trees | Indices | Help |
---|
|
1 # Elisa - Home multimedia server 2 # Copyright (C) 2006-2008 Fluendo Embedded S.L. (www.fluendo.com). 3 # All rights reserved. 4 # 5 # This file is available under one of two license agreements. 6 # 7 # This file is licensed under the GPL version 3. 8 # See "LICENSE.GPL" in the root of this distribution including a special 9 # exception to use Elisa with Fluendo's plugins. 10 # 11 # The GPL part of Elisa is also available under a commercial licensing 12 # agreement from Fluendo. 13 # See "LICENSE.Elisa" in the root directory of this distribution package 14 # for details on that license. 15 16 from elisa.core.tests.elisa_test_case import ElisaTestCase 17 from elisa.core.observers.observable import Observable 18 from elisa.core.observers.observer import Observer 19 20 29 373919141 observer = MyObserver() 42 o = Observable() 43 44 o.add_observer(observer) 45 46 o.test = "test" 47 48 self.failUnlessEqual(observer.origin, o)4951 observer = MyObserver() 52 o1 = Observable() 53 o2 = Observable() 54 55 # attach 56 o1.add_observer(observer) 57 58 # attach to another one 59 o2.add_observer(observer) 60 61 observer.origin = None 62 o1.test = "test" 63 self.failUnlessEqual(observer.origin, o1) 64 observer.origin = None 65 o2.test = "test" 66 self.failUnlessEqual(observer.origin, o2) 67 68 # detach 69 o1.remove_observer(observer) 70 71 observer.origin = None 72 o1.test = "test" 73 self.failUnlessEqual(observer.origin, None) 74 observer.origin = None 75 o2.test = "test" 76 self.failUnlessEqual(observer.origin, o2) 77 78 # reattach 79 o1.add_observer(observer) 80 81 observer.origin = None 82 o1.test = "test" 83 self.failUnlessEqual(observer.origin, o1) 84 observer.origin = None 85 o2.test = "test" 86 self.failUnlessEqual(observer.origin, o2)8789 observer = MyObserver() 90 o = Observable() 91 92 # try stop observing while it's not anyway 93 o.remove_observer(observer) 94 95 # observing 96 o.add_observer(observer) 97 98 o.test = "test" 99 self.failUnlessEqual(observer.origin, o) 100 101 # stop observing 102 o.remove_observer(observer) 103 observer.origin = None 104 o.test = "test" 105 self.failUnlessEqual(observer.origin, None)106108 observer = MyObserver() 109 o1 = Observable() 110 o2 = Observable() 111 112 # observe #1 113 o1.add_observer(observer) 114 115 observer.origin = None 116 o1.test = "test" 117 self.failUnlessEqual(observer.origin, o1) 118 observer.origin = None 119 o2.test = "test" 120 self.failUnlessEqual(observer.origin, None) 121 122 # observe #2 123 o2.add_observer(observer) 124 125 observer.origin = None 126 o1.test = "test" 127 self.failUnlessEqual(observer.origin, o1) 128 observer.origin = None 129 o2.test = "test" 130 self.failUnlessEqual(observer.origin, o2) 131 132 # stop observing #1 133 o1.remove_observer(observer) 134 135 observer.origin = None 136 o1.test = "test" 137 self.failUnlessEqual(observer.origin, None) 138 observer.origin = None 139 o2.test = "test" 140 self.failUnlessEqual(observer.origin, o2) 141 142 # stop observing #2 143 o2.remove_observer(observer) 144 145 observer.origin = None 146 o1.test = "test" 147 self.failUnlessEqual(observer.origin, None) 148 observer.origin = None 149 o2.test = "test" 150 self.failUnlessEqual(observer.origin, None)151153 observer = MyObserverRaisingException() 154 o = Observable() 155 156 o.add_observer(observer) 157 158 self.failUnlessRaises(Exception, o.__setattr__, "test", "test")159161 observer = MyObserver() 162 observable = Observable() 163 164 # add_observer 165 observable.add_observer(observer) 166 167 observer.origin = None 168 observable.test = "test" 169 self.failUnlessEqual(observer.origin, observable) 170 171 # add_observer again, it should be ignored 172 observable.add_observer(observer) 173 174 observer.origin = None 175 observable.test = "test" 176 self.failUnlessEqual(observer.origin, observable) 177 178 # remove_observer: no observation anymore 179 observable.remove_observer(observer) 180 181 observer.origin = None 182 observable.test = "test" 183 self.failUnlessEqual(observer.origin, None) 184 185 # remove_observer again, it should be ignored 186 observable.remove_observer(observer) 187 188 observer.origin = None 189 observable.test = "test" 190 self.failUnlessEqual(observer.origin, None)
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0beta1 on Wed Jan 16 19:10:35 2008 | http://epydoc.sourceforge.net |