Beispiel #1
0
    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)
Beispiel #2
0
 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())
Beispiel #3
0
 if len(data_string) == 0:
     reply = "Error: empty command"
 else:
     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())