From b17f7759c8b689d1f97bdd65111c3dba21a98240 Mon Sep 17 00:00:00 2001 From: Stephen Diehl Date: Thu, 2 Feb 2012 08:23:18 -0500 Subject: [PATCH 1/2] Nose autodiscover & unittest2 --- test.py | 6 ---- test/testmessaging.py | 66 ------------------------------------------- 2 files changed, 72 deletions(-) delete mode 100644 test.py delete mode 100644 test/testmessaging.py diff --git a/test.py b/test.py deleted file mode 100644 index 5fd54f4b..00000000 --- a/test.py +++ /dev/null @@ -1,6 +0,0 @@ -import unittest -from test.testmessaging import * - -if __name__ == '__main__': - suite = unittest.TestLoader().loadTestsFromTestCase(MessagingTestCase) - unittest.TextTestRunner(verbosity=2).run(suite) \ No newline at end of file diff --git a/test/testmessaging.py b/test/testmessaging.py deleted file mode 100644 index ad127390..00000000 --- a/test/testmessaging.py +++ /dev/null @@ -1,66 +0,0 @@ -import unittest -import zmq -import logging -import tornado -from data.sources.equity import * -from data.feed import * -from data.transforms import MergedTransformsFeed, MovingAverage - -from qbt_client import TestClient - - -class MessagingTestCase(unittest.TestCase): - - def setUp(self): - tornado.options.parse_command_line() - self.total_data_count = 800 - self.feed_config = {'emt1':{'sid':133, 'class':'RandomEquityTrades', 'count':400}, - 'emt2':{'sid':134, 'class':'RandomEquityTrades', 'count':400}} - self.feed = DataFeed(self.feed_config) - self.feed_proc = multiprocessing.Process(target=self.feed.run) - - self.config = {} - self.config['name'] = '**merged feed**' - self.config['transforms'] = [{'name':'mavg1', 'class':'MovingAverage', 'hours':1},{'name':'mavg2', 'class':'MovingAverage', 'hours':2}] - - def dtest_client(self): - #subscribe a client to the transformed feed - client = TestClient(self.feed, self.feed.feed_address) - - feed_proc = multiprocessing.Process(target=self.feed.run) - feed_proc.start() - - - client.run() - self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages, found {n} remaining.".format(n=self.feed.data_buffer.pending_messages())) - self.assertEqual(self.total_data_count, client.received_count, "The client should have received ({n}) the same number of messages as the feed sent ({m}).".format(n=client.received_count, m=self.total_data_count)) - - - def dtest_moving_average_to_client(self): - mavg = MovingAverage(self.feed, self.config['transforms'][0]) - mavg_proc = multiprocessing.Process(target=mavg.run) - mavg_proc.start() - - client = TestClient(self.feed, mavg.result_address, bind=True) - - feed_proc = multiprocessing.Process(target=self.feed.run) - feed_proc.start() - - client.run() - self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages.") - self.assertEqual(self.total_data_count, client.received_count, "The client should have received the same number of messages as the feed sent.") - - def test_merged_to_client(self): - merger = MergedTransformsFeed(self.feed, self.config) - merger_proc = multiprocessing.Process(target=merger.run) - merger_proc.start() - - client = TestClient(self.feed, merger.result_address) - - feed_proc = multiprocessing.Process(target=self.feed.run) - feed_proc.start() - - client.run() - self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages.") - self.assertEqual(self.total_data_count, client.received_count, "The client should have received the same number of messages as the feed sent.") - \ No newline at end of file From af36a6755fb8627e9a4aed514212f4df98b45a7e Mon Sep 17 00:00:00 2001 From: Stephen Diehl Date: Thu, 2 Feb 2012 08:23:48 -0500 Subject: [PATCH 2/2] Renamed unit test per nose convention. --- test/test_messaging.py | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test/test_messaging.py diff --git a/test/test_messaging.py b/test/test_messaging.py new file mode 100644 index 00000000..a50c5ecf --- /dev/null +++ b/test/test_messaging.py @@ -0,0 +1,66 @@ +import unittest2 as unittest +import zmq +import logging +import tornado +from data.sources.equity import * +from data.feed import * +from data.transforms import MergedTransformsFeed, MovingAverage + +from qbt_client import TestClient + + +class MessagingTestCase(unittest.TestCase): + + def setUp(self): + tornado.options.parse_command_line() + self.total_data_count = 800 + self.feed_config = {'emt1':{'sid':133, 'class':'RandomEquityTrades', 'count':400}, + 'emt2':{'sid':134, 'class':'RandomEquityTrades', 'count':400}} + self.feed = DataFeed(self.feed_config) + self.feed_proc = multiprocessing.Process(target=self.feed.run) + + self.config = {} + self.config['name'] = '**merged feed**' + self.config['transforms'] = [{'name':'mavg1', 'class':'MovingAverage', 'hours':1},{'name':'mavg2', 'class':'MovingAverage', 'hours':2}] + + def dtest_client(self): + #subscribe a client to the transformed feed + client = TestClient(self.feed, self.feed.feed_address) + + feed_proc = multiprocessing.Process(target=self.feed.run) + feed_proc.start() + + + client.run() + self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages, found {n} remaining.".format(n=self.feed.data_buffer.pending_messages())) + self.assertEqual(self.total_data_count, client.received_count, "The client should have received ({n}) the same number of messages as the feed sent ({m}).".format(n=client.received_count, m=self.total_data_count)) + + + def dtest_moving_average_to_client(self): + mavg = MovingAverage(self.feed, self.config['transforms'][0]) + mavg_proc = multiprocessing.Process(target=mavg.run) + mavg_proc.start() + + client = TestClient(self.feed, mavg.result_address, bind=True) + + feed_proc = multiprocessing.Process(target=self.feed.run) + feed_proc.start() + + client.run() + self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages.") + self.assertEqual(self.total_data_count, client.received_count, "The client should have received the same number of messages as the feed sent.") + + def test_merged_to_client(self): + merger = MergedTransformsFeed(self.feed, self.config) + merger_proc = multiprocessing.Process(target=merger.run) + merger_proc.start() + + client = TestClient(self.feed, merger.result_address) + + feed_proc = multiprocessing.Process(target=self.feed.run) + feed_proc.start() + + client.run() + self.assertEqual(self.feed.data_buffer.pending_messages(), 0, "The feed should be drained of all messages.") + self.assertEqual(self.total_data_count, client.received_count, "The client should have received the same number of messages as the feed sent.") +