Exemple #1
0
    child_3 = Observer()

    print("Children Added")

    assert(parent.state == "ready")

    parent.add_observer(child_1)
    parent.add_observer(child_2)
    parent.add_observer(child_3)

    parent.notify_observers()

    assert(parent.state == "ready")
    assert(child_1.parent_state == "ready")
    assert(child_2.parent_state == "ready")
    assert(child_3.parent_state == "ready")

    parent.remove_observer(child_2)

    #change the state, this should automatically notify observers
    parent.set_state("running")

    print("Parent State Changed")
    
    assert(parent.state == "running")
    assert(child_1.parent_state == "running")
    assert(child_2.parent_state == "ready")
    assert(child_3.parent_state == "running")

    print("Tests Passed")