Example #1
0
class TestSteelsClassifier(unittest.TestCase):

    def setUp(self):
        self.N = 100
        self.samples = [
            Sample([1, 2, 3, 4]),
            Sample([1, 1, 1, 1]),
            Sample([2, 2, 2, 2]),
            Sample([3, 3, 3, 3])
        ]
        self.ru = map(ReactiveUnit, self.samples)

    def _init(self):
        self.sc = SteelsClassifier()
        for s in self.samples:
            self.sc.add_category(s)

    def test_add_remove_category(self):
        self._init()
        self.sc.add_category(self.samples[0], 0)
        self.assertTrue(0 in self.sc.categories)
        self.sc.del_category(0)
        self.assertFalse(0 in self.sc.categories)

    def test_remove_category(self):
        pass

    def test_wrong_classify(self):
        self._init()
        self.sc.categories = {}
        self.assertEqual(None, self.sc.classify(self.samples[0]))

    def test_classify_for_peeks(self):
        self._init()
        wc = [self.sc.classify(s) for s in self.samples]
        wc.sort()
        self.assertEqual(wc,  range(4))

    def test_classify_similar(self):
        self._init()
        samples = [
            Sample([0.9,  0.9,  0.9, 0.9]),
            Sample([1.1, 1.1, 1.1, 1.1]),
            Sample([0.9, 1.1, 0.9, 1.1]),
            Sample([1, 1, 1, 1])
        ]
        wc = [self.sc.classify(s) for s in samples]
        wc.sort()
        self.assertEqual(wc[0], wc[-1])
Example #2
0
 def _init(self):
     self.sc = SteelsClassifier()
     for s in self.samples:
         self.sc.add_category(s)