Ejemplo n.º 1
0
 def test_observation(self):
     def ResetAll(obs):
         for obPair in obs:
             for ob in obPair:
                 ob.Reset()
         return
 
     def CheckObservers(observers, pattern):
         for obPair, shouldChange in itertools.izip(observers, pattern):
             if shouldChange:
                 for ob in obPair:
                     assert ob.CallTime is not None
                 assert obPair[0].CallTime < obPair[1].CallTime
             else:
                 for ob in obPair:
                     assert ob.CallTime is None
         return
     
     lst = ObservableList()
     
     observers = self.MakeListObservers(lst)
     
     # Add an elem
     lst.append(Circle(4))
     CheckObservers(observers, (True, False, False, True))
     
     # Replace one
     ResetAll(observers)
     lst[0] = 18
     CheckObservers(observers, (False, False, True, False))
     
     # Delete one
     ResetAll(observers)
     del lst[0]
     CheckObservers(observers, (False, True, False, True))
     
     return
Ejemplo n.º 2
0
    def test_observation(self):
        def ResetAll(obs):
            for obPair in obs:
                for ob in obPair:
                    ob.Reset()
            return

        def CheckObservers(observers, pattern):
            for obPair, shouldChange in itertools.izip(observers, pattern):
                if shouldChange:
                    for ob in obPair:
                        assert ob.CallTime is not None
                    assert obPair[0].CallTime < obPair[1].CallTime
                else:
                    for ob in obPair:
                        assert ob.CallTime is None
            return

        lst = ObservableList()

        observers = self.MakeListObservers(lst)

        # Add an elem
        lst.append(Circle(4))
        CheckObservers(observers, (True, False, False, True))

        # Replace one
        ResetAll(observers)
        lst[0] = 18
        CheckObservers(observers, (False, False, True, False))

        # Delete one
        ResetAll(observers)
        del lst[0]
        CheckObservers(observers, (False, True, False, True))

        return