Belle II Software  release-05-01-25
test_calculationQueue.py
1 from unittest import TestCase, main
2 
3 from hep_ipython_tools.calculation_queue import CalculationQueue, CalculationQueueItem
4 from hep_ipython_tools.tests.fixtures import MockQueue
5 
6 
7 # @cond internal_test
8 
9 class A:
10  pass
11 
12 
13 class TestCalculationQueue(TestCase):
14 
15  def setUp(self):
16  self.calculation_queue = CalculationQueue()
17  self.calculation_queue.queue = MockQueue()
18 
19  def test_put(self):
20  a = A()
21 
22  self.calculation_queue.put("TestItem", "TestContent")
23  self.calculation_queue.put("TestItem2", 2.34)
24  self.calculation_queue.put("TestItem3", a)
25 
26  items = self.calculation_queue.queue.internal_storage
27 
28  self.assertEqual(len(items), 3)
29  self.assertEqual(items[0], CalculationQueueItem("TestItem", "TestContent"))
30  self.assertEqual(items[1], CalculationQueueItem("TestItem2", 2.34))
31  self.assertEqual(items[2], CalculationQueueItem("TestItem3", a))
32 
33  def test_fill_results_no_dubs(self):
34  a = A()
35 
36  self.calculation_queue.put("TestItem", "TestContent")
37  self.calculation_queue.put("TestItem2", 2.34)
38  self.calculation_queue.put("TestItem3", a)
39 
40  self.calculation_queue.fill_results()
41 
42  self.assertEqual(self.calculation_queue.get("TestItem"), "TestContent")
43  self.assertEqual(self.calculation_queue.get("TestItem2"), 2.34)
44  self.assertEqual(self.calculation_queue.get("TestItem3"), a)
45 
46  self.assertIn("TestItem", self.calculation_queue.get_keys())
47  self.assertIn("TestItem2", self.calculation_queue.get_keys())
48  self.assertIn("TestItem3", self.calculation_queue.get_keys())
49 
50  def test_fill_results_dubs(self):
51  self.calculation_queue.put("TestItem", "TestContent")
52  self.calculation_queue.put("TestItem", 2.34)
53  self.calculation_queue.put("TestItem2", "OtherContent")
54 
55  self.calculation_queue.fill_results()
56 
57  self.assertEqual(self.calculation_queue.get("TestItem"), 2.34)
58  self.assertEqual(self.calculation_queue.get("TestItem2"), "OtherContent")
59 
60  self.assertIn("TestItem", self.calculation_queue.get_keys())
61  self.assertIn("TestItem2", self.calculation_queue.get_keys())
62 
63 if __name__ == "__main__":
64  main()
65 # @endcond
hep_ipython_tools.tests.fixtures
Definition: fixtures.py:1
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
hep_ipython_tools.calculation_queue
Definition: calculation_queue.py:1
TestCase
Definition: main.cc:1069