Example #1
0
 def test_sum(self):
     kwarg_map1 = {self.statitem1[0]: self.statitem1[1]() + 2}
     kwarg_map2 = {self.statitem1[0]: self.statitem1[1]() + 4}
     stat1 = Statistics(**kwarg_map1)
     stat2 = Statistics(**kwarg_map2)
     ss = StatisticsSet(stat1, stat2)
     self.assertEqual(ss.sum(self.statitem1[0]), 6)
 def test_export_stats_and_plots(self):
     self.db.stats.addstats(Statistics(mpl=1, runtime=5.),
                            Statistics(mpl=2, runtime=8.))
     self.db.output_plots = True
     self.assertTrue(self.db.output_plots)
     self.assertTrue(len(os.listdir(self.db.outdirpath)) == 0)
     self.db.export_stats()
     self.assertTrue(len(os.listdir(self.db.outdirpath)) == 3)
 def test_export_stats(self):
     self.db.stats.addstats(Statistics(mpl=1, runtime=3.),
                            Statistics(mpl=2, runtime=6.))
     self.db.output_plots = False
     self.assertFalse(self.db.output_plots)
     self.assertTrue(len(os.listdir(self.db.outdirpath)) == 0)
     self.db.export_stats()
     self.assertTrue(len(os.listdir(self.db.outdirpath)) == 2)
Example #4
0
class StatisticsTestCase(unittest.TestCase):
    def setUp(self):
        self.stats = Statistics()
        self.statitem1, self.statitem2 = get(const.TRACKED_STATS.items(), 2)

    def test_init_values(self):
        initvals = {k: const.TRACKED_STATS[k]() for k in const.TRACKED_STATS}
        stats = Statistics(**initvals)
        for k, v in initvals.items():
            self.assertEqual(getattr(stats, k), v)

    def test_default_values(self):
        for k, v in const.TRACKED_STATS.items():
            self.assertEqual(getattr(self.stats, k), v())

    def test_getitem(self):
        for k, v in const.TRACKED_STATS.items():
            self.assertEqual(self.stats[k], getattr(self.stats, k))

    def test_unexpected_init(self):
        with self.assertRaises(AttributeError):
            Statistics(**{noattr(Statistics()): 'foobar'})

    def test_getattr(self):
        with self.assertRaises(AttributeError):
            getattr(self.stats, noattr(self.stats))

    def test_setattr(self):
        with self.assertRaises(TypeError):
            setattr(self.stats, self.statitem1[0], weirdtype())
        setattr(self.stats, self.statitem1[0], self.statitem1[1]() + 1234)
        self.assertEqual(getattr(self.stats, self.statitem1[0]), 1234)

    def test_anomaly_score(self):
        if hasattrs(self.stats, 'totalcash', 'countcash', 'opcount'):
            self.stats.totalcash = 100.
            self.stats.countcash = 123.
            self.stats.opcount = 50.
            self.assertEqual(self.stats.anomaly_score, 0.46)
            self.stats.totalcash = 0.
            self.stats.countcash = 0.
            self.assertEqual(self.stats.anomaly_score, 0.)
            self.stats.opcount = 0.
            self.assertEqual(self.stats.anomaly_score, 0.)

    def test_dict(self):
        with self.assertRaises(TypeError):
            self.stats.dict(weirdtype(), weirdtype(), weirdtype())
        setattr(self.stats, self.statitem1[0], self.statitem1[1]() + 5)
        setattr(self.stats, self.statitem2[0], self.statitem2[1]() + 10)
        self.assertEqual(self.stats.dict(self.statitem1[0]),
                         {self.statitem1[0]: self.statitem1[1]() + 5})
        self.assertEqual(
            self.stats.dict(self.statitem1[0], self.statitem2[0]), {
                self.statitem1[0]: self.statitem1[1]() + 5,
                self.statitem2[0]: self.statitem2[1]() + 10,
            })
Example #5
0
class StatisticsTestCase(unittest.TestCase):
    def setUp(self):
        self.stats = Statistics()
        self.statitem1, self.statitem2 = get(const.TRACKED_STATS.items(), 2)

    def test_init_values(self):
        initvals = {k: const.TRACKED_STATS[k]() for k in const.TRACKED_STATS}
        stats = Statistics(**initvals)
        for k, v in initvals.items():
            self.assertEqual(getattr(stats, k), v)

    def test_default_values(self):
        for k, v in const.TRACKED_STATS.items():
            self.assertEqual(getattr(self.stats, k), v())

    def test_getitem(self):
        for k, v in const.TRACKED_STATS.items():
            self.assertEqual(self.stats[k], getattr(self.stats, k))

    def test_unexpected_init(self):
        with self.assertRaises(AttributeError):
            Statistics(**{noattr(Statistics()): 'foobar'})

    def test_getattr(self):
        with self.assertRaises(AttributeError):
            getattr(self.stats, noattr(self.stats))

    def test_setattr(self):
        with self.assertRaises(TypeError):
            setattr(self.stats, self.statitem1[0], weirdtype())
        setattr(self.stats, self.statitem1[0], self.statitem1[1]() + 1234)
        self.assertEqual(getattr(self.stats, self.statitem1[0]), 1234)

    def test_anomaly_score(self):
        if hasattrs(self.stats, 'totalcash', 'countcash', 'opcount'):
            self.stats.totalcash = 100.
            self.stats.countcash = 123.
            self.stats.opcount   = 50.
            self.assertEqual(self.stats.anomaly_score, 0.46)
            self.stats.totalcash = 0.
            self.stats.countcash = 0.
            self.assertEqual(self.stats.anomaly_score, 0.)
            self.stats.opcount = 0.
            self.assertEqual(self.stats.anomaly_score, 0.)

    def test_dict(self):
        with self.assertRaises(TypeError):
            self.stats.dict(weirdtype(), weirdtype(), weirdtype())
        setattr(self.stats, self.statitem1[0], self.statitem1[1]() + 5)
        setattr(self.stats, self.statitem2[0], self.statitem2[1]() + 10)
        self.assertEqual(self.stats.dict(self.statitem1[0]), {
            self.statitem1[0]: self.statitem1[1]() + 5
        })
        self.assertEqual(self.stats.dict(self.statitem1[0], self.statitem2[0]), {
            self.statitem1[0]: self.statitem1[1]() + 5,
            self.statitem2[0]: self.statitem2[1]() + 10,
        })
 def setUp(self):
     self.ss = StatisticsSet(Statistics(), Statistics())
     self.exp = CsvExporter(self.ss)
     self.statkey1, self.statkey2 = getlist(const.TRACKED_STATS.keys(), 2)
 def setUp(self):
     self.ss = StatisticsSet(Statistics(), Statistics())
     self.exp = Exporter(self.ss)
Example #8
0
 def setUp(self):
     self.stats = Statistics()
     self.statitem1, self.statitem2 = get(const.TRACKED_STATS.items(), 2)
Example #9
0
 def setUp(self):
     self.statitem1, = get(const.TRACKED_STATS.items(), 1)
     self.stat1 = Statistics()
     self.stat2 = Statistics()
     self.ss = StatisticsSet(self.stat1, self.stat2)
Example #10
0
 def test_unexpected_init(self):
     with self.assertRaises(AttributeError):
         Statistics(**{noattr(Statistics()): 'foobar'})
Example #11
0
 def test_init_values(self):
     initvals = {k: const.TRACKED_STATS[k]() for k in const.TRACKED_STATS}
     stats = Statistics(**initvals)
     for k, v in initvals.items():
         self.assertEqual(getattr(stats, k), v)
Example #12
0
 def setUp(self):
     self.stats = Statistics()
     self.statitem1, self.statitem2 = get(const.TRACKED_STATS.items(), 2)