def test_w_mulitple_activation_events_mulitple_super_e_and_sub_e_returned(self): super_e1 = G(Entity) super_e2 = G(Entity) sub_e1 = G(Entity) sub_e2 = G(Entity) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 1)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 3)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 4)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 4, 12)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 3, 4, 12)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e2, sub_entity=sub_e1, time=datetime(2013, 1, 1)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e2, sub_entity=sub_e1, time=datetime(2013, 12, 1)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 2, 4)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 2, 20)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4, 12)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4, 13)) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e2, sub_entity=sub_e2, time=datetime(2013, 1, 1)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e2, sub_entity=sub_e2, time=datetime(2013, 12, 1)) res = get_sub_entities_at_times( [super_e1.id, super_e2.id], [datetime(2013, 2, 2), datetime(2013, 2, 4, 13), datetime(2013, 3, 5)]) self.assertEquals(res, { (super_e1.id, datetime(2013, 2, 2)): set([sub_e1.id]), (super_e1.id, datetime(2013, 2, 4, 13)): set([sub_e1.id, sub_e2.id]), (super_e1.id, datetime(2013, 3, 5)): set([sub_e2.id]), (super_e2.id, datetime(2013, 2, 2)): set([sub_e1.id, sub_e2.id]), (super_e2.id, datetime(2013, 2, 4, 13)): set([sub_e1.id, sub_e2.id]), (super_e2.id, datetime(2013, 3, 5)): set([sub_e1.id, sub_e2.id]), })
def test_no_events_w_input(self): res = get_sub_entities_at_times([1, 2], [datetime(2013, 4, 5), datetime(2013, 5, 6)]) self.assertEquals(res, { (1, datetime(2013, 4, 5)): set(), (1, datetime(2013, 5, 6)): set(), (2, datetime(2013, 4, 5)): set(), (2, datetime(2013, 5, 6)): set(), })
def test_w_events_no_results(self): se = G(Entity) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=se, time=datetime(2013, 2, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=se, time=datetime(2013, 2, 2)) res = get_sub_entities_at_times([se.id], [datetime(2012, 4, 5), datetime(2012, 5, 6)]) self.assertEquals(res, { (se.id, datetime(2012, 4, 5)): set(), (se.id, datetime(2012, 5, 6)): set(), })
def test_no_events_w_input(self): res = get_sub_entities_at_times( [1, 2], [datetime(2013, 4, 5), datetime(2013, 5, 6)]) self.assertEquals( res, { (1, datetime(2013, 4, 5)): set(), (1, datetime(2013, 5, 6)): set(), (2, datetime(2013, 4, 5)): set(), (2, datetime(2013, 5, 6)): set(), })
def test_w_events_sub_entity_deactivated_before_date(self): super_e = G(Entity) sub_e = G(Entity) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 1)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 3)) res = get_sub_entities_at_times([super_e.id], [datetime(2013, 2, 4)]) self.assertEquals(res, { (super_e.id, datetime(2013, 2, 4)): set(), })
def test_w_events_one_sub_e_returned(self): super_e = G(Entity) sub_e = G(Entity) G( EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 1)) G( EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 3)) res = get_sub_entities_at_times([super_e.id], [datetime(2013, 2, 2), datetime(2012, 5, 6)]) self.assertEquals(res, { (super_e.id, datetime(2013, 2, 2)): set([sub_e.id]), (super_e.id, datetime(2012, 5, 6)): set(), })
def test_w_events_sub_entity_deactivated_before_date(self): super_e = G(Entity) sub_e = G(Entity) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 3)) res = get_sub_entities_at_times([super_e.id], [datetime(2013, 2, 4)]) self.assertEquals(res, { (super_e.id, datetime(2013, 2, 4)): set(), })
def test_w_events_no_results(self): se = G(Entity) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=se, time=datetime(2013, 2, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=se, time=datetime(2013, 2, 2)) res = get_sub_entities_at_times( [se.id], [datetime(2012, 4, 5), datetime(2012, 5, 6)]) self.assertEquals( res, { (se.id, datetime(2012, 4, 5)): set(), (se.id, datetime(2012, 5, 6)): set(), })
def test_w_events_one_sub_e_returned(self): super_e = G(Entity) sub_e = G(Entity) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e, sub_entity=sub_e, time=datetime(2013, 2, 3)) res = get_sub_entities_at_times( [super_e.id], [datetime(2013, 2, 2), datetime(2012, 5, 6)]) self.assertEquals( res, { (super_e.id, datetime(2013, 2, 2)): set([sub_e.id]), (super_e.id, datetime(2012, 5, 6)): set(), })
def test_w_mulitple_activation_events_mulitple_super_e_and_sub_e_returned( self): super_e1 = G(Entity) super_e2 = G(Entity) sub_e1 = G(Entity) sub_e2 = G(Entity) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 3)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 4)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 2, 4, 12)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e1, time=datetime(2013, 3, 4, 12)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e2, sub_entity=sub_e1, time=datetime(2013, 1, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e2, sub_entity=sub_e1, time=datetime(2013, 12, 1)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 2, 4)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 2, 20)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4, 12)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e1, sub_entity=sub_e2, time=datetime(2013, 3, 4, 13)) G(EntityRelationshipActivationEvent, was_activated=True, super_entity=super_e2, sub_entity=sub_e2, time=datetime(2013, 1, 1)) G(EntityRelationshipActivationEvent, was_activated=False, super_entity=super_e2, sub_entity=sub_e2, time=datetime(2013, 12, 1)) res = get_sub_entities_at_times([super_e1.id, super_e2.id], [ datetime(2013, 2, 2), datetime(2013, 2, 4, 13), datetime(2013, 3, 5) ]) self.assertEquals( res, { (super_e1.id, datetime(2013, 2, 2)): set([sub_e1.id]), (super_e1.id, datetime(2013, 2, 4, 13)): set([sub_e1.id, sub_e2.id]), (super_e1.id, datetime(2013, 3, 5)): set([sub_e2.id]), (super_e2.id, datetime(2013, 2, 2)): set([sub_e1.id, sub_e2.id]), (super_e2.id, datetime(2013, 2, 4, 13)): set([sub_e1.id, sub_e2.id]), (super_e2.id, datetime(2013, 3, 5)): set([sub_e1.id, sub_e2.id]), })
def test_no_events_no_input(self): res = get_sub_entities_at_times([], []) self.assertEquals(res, {})