Esempio n. 1
0
class StreamTests(unittest.TestCase):
    def setUp(self):
        self.m1 = Message(1, 'sdf',
                          'A project to cluster high-dimensional streams.',
                          test_time - timedelta(seconds=60))
        self.m1.vector = Vector({1: 1., 2: 3.})
        self.stream = Stream(1, self.m1)
        self.m2 = Message(1, 'sdf',
                          'A project to cluster high-dimensional streams.',
                          test_time)
        self.m2.vector = Vector({2: 3.})

    def test_updateForMessage_addWithoutDecay(self):
        self.stream.updateForMessage(self.m2,
                                     VectorUpdateMethods.addWithoutDecay,
                                     **stream_settings)
        self.assertEqual(self.stream, Vector({1: 1., 2: 6.}))

    def test_updateForMessage_exponentialDecay(self):
        self.stream.updateForMessage(self.m2,
                                     VectorUpdateMethods.exponentialDecay,
                                     **stream_settings)
        self.assertEqual(self.stream, Vector({1: 0.5, 2: 4.5}))

    def test_check_lastMessageTime_is_updated(self):
        self.assertEqual(test_time - timedelta(seconds=60),
                         self.stream.lastMessageTime)
        self.stream.updateForMessage(self.m2,
                                     VectorUpdateMethods.addWithoutDecay,
                                     **stream_settings)
        self.assertNotEqual(test_time - timedelta(seconds=60),
                            self.stream.lastMessageTime)
        self.assertEqual(test_time, self.stream.lastMessageTime)
class StreamTests(unittest.TestCase):
    def setUp(self):
        self.m1 = Message(1, 'sdf', 'A project to cluster high-dimensional streams.', test_time-timedelta(seconds=60))
        self.m1.vector=Vector({1:1.,2:3.})
        self.stream = Stream(1, self.m1)
        self.m2 = Message(1, 'sdf', 'A project to cluster high-dimensional streams.', test_time)
        self.m2.vector=Vector({2:3.})
    def test_updateForMessage_addWithoutDecay(self):
        self.stream.updateForMessage(self.m2, VectorUpdateMethods.addWithoutDecay, **stream_settings)
        self.assertEqual(self.stream, Vector({1:1.,2:6.}))
    def test_updateForMessage_exponentialDecay(self):
        self.stream.updateForMessage(self.m2, VectorUpdateMethods.exponentialDecay, **stream_settings)
        self.assertEqual(self.stream, Vector({1:0.5,2:4.5}))
    def test_check_lastMessageTime_is_updated(self):
        self.assertEqual(test_time-timedelta(seconds=60), self.stream.lastMessageTime)
        self.stream.updateForMessage(self.m2, VectorUpdateMethods.addWithoutDecay, **stream_settings)
        self.assertNotEqual(test_time-timedelta(seconds=60), self.stream.lastMessageTime)
        self.assertEqual(test_time, self.stream.lastMessageTime)