def test_merge(self): observer1 = ObserverAggregator() observer2 = ObserverAggregator() mmsc_checkpoint1 = MinMaxSumCountAggregator._TYPE(3, 150, 101, 3) mmsc_checkpoint2 = MinMaxSumCountAggregator._TYPE(1, 33, 44, 2) checkpoint1 = ObserverAggregator._TYPE(*(mmsc_checkpoint1 + (23, ))) checkpoint2 = ObserverAggregator._TYPE(*(mmsc_checkpoint2 + (27, ))) observer1.mmsc.checkpoint = mmsc_checkpoint1 observer2.mmsc.checkpoint = mmsc_checkpoint2 observer1.checkpoint = checkpoint1 observer2.checkpoint = checkpoint2 observer1.merge(observer2) self.assertEqual( observer1.checkpoint, ( min(checkpoint1.min, checkpoint2.min), max(checkpoint1.max, checkpoint2.max), checkpoint1.sum + checkpoint2.sum, checkpoint1.count + checkpoint2.count, checkpoint2.last, ), )
def test_merge_with_empty(self): observer1 = ObserverAggregator() observer2 = ObserverAggregator() mmsc_checkpoint1 = MinMaxSumCountAggregator._TYPE(3, 150, 101, 3) checkpoint1 = ObserverAggregator._TYPE(*(mmsc_checkpoint1 + (23, ))) observer1.mmsc.checkpoint = mmsc_checkpoint1 observer1.checkpoint = checkpoint1 observer1.merge(observer2) self.assertEqual(observer1.checkpoint, checkpoint1)