def test_merge(self): stats = StatCounter([1.0, 2.0, 3.0, 4.0]) stats.merge(5.0) self.assertEqual(stats.count(), 5) self.assertEqual(stats.max(), 5.0) self.assertEqual(stats.mean(), 3.0) self.assertEqual(stats.min(), 1.0) self.assertAlmostEqual(stats.stdev(), 1.414213562373095) self.assertAlmostEqual(stats.sampleStdev(), 1.5811388300841898) self.assertEqual(stats.sum(), 15.0) self.assertAlmostEqual(stats.variance(), 2.0) self.assertAlmostEqual(stats.sampleVariance(), 2.5)
def test_merge_stats_with_self(self): stats = StatCounter([1.0, 2.0, 3.0, 4.0]) stats.mergeStats(stats) self.assertEqual(stats.count(), 8) self.assertEqual(stats.max(), 4.0) self.assertEqual(stats.mean(), 2.5) self.assertEqual(stats.min(), 1.0) self.assertAlmostEqual(stats.stdev(), 1.118033988749895) self.assertAlmostEqual(stats.sampleStdev(), 1.1952286093343936) self.assertEqual(stats.sum(), 20.0) self.assertAlmostEqual(stats.variance(), 1.25) self.assertAlmostEqual(stats.sampleVariance(), 1.4285714285714286)