Exemple #1
0
class UnitTestObserver(unittest.TestCase):
    '''Testing class'''

    def setUp(self):
        self.undOb = Observable()
        self.bot1 = TestObserver()
        self.bot2 = TestObserver()

    def tearDown(self):
        del self.undOb
        del self.bot1
        del self.bot2

    def test_defaultNoObserver(self):
        self.assertEqual(len(self.undOb.observers),0," Observer list is not empty")

    def test_DuplicateObservers(self):
        self.undOb.register(self.bot1)
        self.undOb.register(self.bot2)
        self.undOb.register(self.bot1)
        self.assertEqual(len(self.undOb.observers),2,"Duplicate observers registered")

    def test_RemoveAllSubscribers(self):
        self.undOb.register(self.bot1)
        self.undOb.register(self.bot2)
        self.undOb.register(self.bot1)
        self.undOb.unregister_all()
        self.assertEqual(len(self.undOb.observers), 0, "Observers still registered")
Exemple #2
0
            print(key,":",value)

class ObserverB(BaseClass):
    '''A type of observerA class'''

    def __init__(self):
        '''Observer A constructor'''

    def update(self, *args, **kwargs):
        '''update callback which would be invoked'''
        print("ObserverB update invoked")
        for arg in args:
            print(arg)
        for key,value in kwargs.items():
            print(key,":",value)


if __name__ == "__main__":
    underObservation = Observable()

    bot1 = ObserverA()
    bot2 = ObserverB()

    underObservation.register(bot1)
    underObservation.register(bot2)

    underObservation.update_observers(('SMA indicates SELL', 'Bollinger Resistance', 'SELL'), {"Lotsize": 37,
                                                                                               "TakeProfit": 300,
                                                                                               "SL": 50})

Exemple #3
0
from Observable import Observable
from observer import Observer


class AmericanStockMarket(Observer):
    def update(self, *args, **kwargs):
        print("American stock market received: {0}\n{1}".format(args, kwargs))


class EuropeanStockMarket(Observer):
    def update(self, *args, **kwargs):
        print("European stock market received: {0}\n{1}".format(args, kwargs))


if __name__ == "__main__":
    observable = Observable()

    american_observer = AmericanStockMarket()
    observable.register(american_observer)

    european_observer = EuropeanStockMarket()
    observable.register(european_observer)

    observable.update_observers('Market Rally', something='Hello World')