def __init(self, callback, conditions):
        self.conditions = conditions
        
        
if __name__ == '__main__':
    from village import Village
    from account import Account
    from resources import Resources
    from event import Event
    
    class K():
        @condition_changes(ConditionEnoughSpaceForResources)
        def handler_enought_space(self):
            print("enough!")
        
    vill = Village(Account((0,0), None), None, None, None)
    vill.suppress_refresh = True
    vill.resources = Resources((90,0,0,0))
    vill.production = Resources((1,0,0,0))
    vill.storage_capacity = Resources((100,0,0,0))
    vill.next_refresh_time = datetime(2220, 1, 1)
    
    inst = K()
    c = inst.handler_enought_space().enqueue(vill, Resources((20,0,0,0)))
    print("first check")
    vill.fire_event(Event(vill, 'resources_spent', datetime.now()))
    print("is true:", c.is_true())
    print("second check")
    vill.resources = Resources((0,0,0,0))
    vill.fire_event(Event(vill, 'resources_spent', datetime.now()))
    print("is true:", c.is_true())