예제 #1
0
def one_column(filename):

    try:
        with open(filename) as file:
    
            stats = Stats()
    
            for line in file:
                try:
                   stats.sample(float(line.strip()))
                except ValueError as e:
                   print "File should contains number only, got: %s" % line.strip()
                   exit(3)
    
            stats.dump()
    except IOError as e:
        print str(e)
        exit(2)
예제 #2
0
class StatsTests(unittest.TestCase):

    def setUp(self):
        self.st = Stats()
        
        self.expect = Stats()
        self.expect.sumsq = 425.1641
        self.expect.sum = 55.84602
        self.expect.min = 0.333
        self.expect.max = 9.678
        self.expect.n = 10

    def test_operations(self):
        
        samples = [
            6.1061334, 9.6783204, 1.2747090, 8.2395131, 0.3333483,
            6.9755066, 1.0626275, 7.6587523, 4.9382973, 9.5788115
        ]


        for i in samples: self.st.sample(i)

        self.st.dump()

        self.assertEqual(EQ(self.st.sumsq, self.expect.sumsq, 3), True)
        self.assertEqual(EQ(self.st.sum, self.expect.sum, 3), True)
        self.assertEqual(EQ(self.st.min, self.expect.min, 3), True)
        self.assertEqual(EQ(self.st.max, self.expect.max, 3), True)
        self.assertEqual(EQ(self.st.n, self.expect.n, 3), True)
        self.assertEqual(EQ(self.expect.mean(), self.st.mean(), 3), True)
        self.assertEqual(EQ(self.expect.stdev(), self.st.stdev(), 3), True)

    def test_recreate(self):
        self.st.recreate( self.expect.sum, self.expect.sumsq, self.expect.n,
            self.expect.min, self.expect.max
        )
        
        self.assertEqual(self.expect.sum == self.st.sum, True)
        self.assertEqual(self.expect.sumsq == self.st.sumsq, True)
        self.assertEqual(self.expect.min == self.st.min, True)
        self.assertEqual(self.expect.max == self.st.max, True)
        self.assertEqual(self.expect.n == self.st.n, True)
        self.assertEqual(EQ(self.expect.mean(), self.st.mean(), 3),  True)
        self.assertEqual(EQ(self.expect.stdev(), self.st.stdev(), 3), True)