def test1(self): coll1 = Collector() coll2 = Collector() n = 40 s1 = 0 s2 = 0 q1 = 0 q2 = 0 for i in range(n): x1 = uniform(5, 15) x2 = uniform(20, 30) coll1.add(x1) coll2.add(x2) s1 += x1 s2 += x2 q1 += x1 * x1 q2 += x2 * x2 self.assertAlmostEqual(q1, coll1.sum_squares(), 5) self.assertAlmostEqual(q2, coll2.sum_squares(), 5) self.assertAlmostEqual(s1, coll1.sum(), 5) self.assertEqual(i + 1, coll1.count()) self.assertAlmostEqual(s2, coll2.sum(), 5) self.assertEqual(i + 1, coll2.count()) self.assertAlmostEqual(math.sqrt(q1 / n - s1 * s1 / n / n), coll1.standard_deviation(), 5) self.assertAlmostEqual(math.sqrt(q2 / n - s2 * s2 / n / n), coll2.standard_deviation(), 5) self.assertAlmostEqual(q1 / n - s1 * s1 / n / n, coll1.variance(), 5) self.assertAlmostEqual(q2 / n - s2 * s2 / n / n, coll2.variance(), 5) self.assertAlmostEqual(s1 / n, coll1.average(), 5) self.assertAlmostEqual(s2 / n, coll2.average(), 5)
def test1(self): coll = Collector() for x in self.data: coll.add(x) self.assertAlmostEqual(self.stdev, coll.standard_deviation()) self.assertAlmostEqual(self.var, coll.variance(), 5) self.assertAlmostEqual(self.avg, coll.average(), 5) self.assertAlmostEqual(self.sumsq, coll.sum_squares(), 5) self.assertAlmostEqual(self.sum, coll.sum(), 5) self.assertEqual(self.count, coll.count())
cmd = data_string[0] # first character parameter = data_string[1:] # the rest # Adds the value to the collector if cmd == 'A': try: v = float(parameter) collector.add(v) reply = "OK " + parameter + " added" except ValueError as ve: reply = "Error" # Asks for the average elif cmd == 'a': reply = str(collector.average()) # Asks for the count elif cmd == 'c': reply = str(collector.count()) # Asks for the standard deviation elif cmd == 'd': reply = str(collector.standard_deviation()) # Asks for the sum of squares elif cmd == 'q': reply = str(collector.sum_squares()) # Asks for the sum elif cmd == 's': reply = str(collector.sum()) # Asks for the variance elif cmd == 'v': reply = str(collector.variance()) # Resets the collector elif cmd == 'z': collector = Collector()