+import unittest
+import xmlrpclib
+from gackshandle import *
+
+class TestGacksHandle(unittest.TestCase):
+ def setUp(self):
+ pass
+
+ def testCreate(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ self.assertEqual(h.id, "cpu")
+ self.assertEqual(h.unitStart, 10)
+ self.assertEqual(h.unitStop, 15)
+ self.assertEqual(h.timeStart, 20)
+ self.assertEqual(h.timeStop, 25)
+
+ def testAsString(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ s = h.as_string()
+ self.assertEqual(s, "cpu#10-15#20-25")
+
+ def testLoadFromString(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ s = h.as_string()
+ h2 = GacksHandle(string=s)
+ self.assertEqual(h.id, h2.id)
+ self.assertEqual(h.unitStart, h2.unitStart)
+ self.assertEqual(h.unitStop, h2.unitStop)
+ self.assertEqual(h.timeStart, h2.timeStart)
+ self.assertEqual(h.timeStop, h2.timeStop)
+
+ def testGetQuantity(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ self.assertEqual(h.get_quantity(), 5)
+
+ def testGetDuration(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ self.assertEqual(h.get_duration(), 5)
+
+ def testClone(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ h2 = h.clone()
+ self.assertEqual(h.id, h2.id)
+ self.assertEqual(h.unitStart, h2.unitStart)
+ self.assertEqual(h.unitStop, h2.unitStop)
+ self.assertEqual(h.timeStart, h2.timeStart)
+ self.assertEqual(h.timeStop, h2.timeStop)
+
+ def testSplit(self):
+ h = GacksHandle("cpu", 10, 15, 20, 25)
+ (h1, h2) = h.split(12,23)
+
+ self.assertEqual(h1.id, "cpu")
+ self.assertEqual(h1.unitStart, 10)
+ self.assertEqual(h1.unitStop, 12)
+ self.assertEqual(h1.timeStart, 20)
+ self.assertEqual(h1.timeStop, 23)
+
+ self.assertEqual(h2.id, "cpu")
+ self.assertEqual(h2.unitStart, 12)
+ self.assertEqual(h2.unitStop, 15)
+ self.assertEqual(h2.timeStart, 23)
+ self.assertEqual(h2.timeStop, 25)
+
+class TestGacksRecord(unittest.TestCase):
+ def setUp(self):
+ pass
+
+ def testCreate(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ self.assertEqual(r.id, "cpu")
+ self.assertEqual(r.unitStart, 10)
+ self.assertEqual(r.unitStop, 15)
+ self.assertEqual(r.timeStart, 20)
+ self.assertEqual(r.timeStop, 25)
+ self.assertEqual(r.allocatorHRNs, ["foo", "bar"])
+ self.assertEqual(r.consumerHRN, "slice1")
+
+ def testClone(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ r2 = r.clone()
+
+ self.assertEqual(r.id, r2.id)
+ self.assertEqual(r.unitStart, r2.unitStart)
+ self.assertEqual(r.unitStop, r2.unitStop)
+ self.assertEqual(r.timeStart, r2.timeStart)
+ self.assertEqual(r.timeStop, r2.timeStop)
+ self.assertEqual(r.allocatorHRNs, r2.allocatorHRNs)
+ self.assertEqual(r.consumerHRN, r2.consumerHRN)
+
+ def testSetAllocator(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ r.set_allocator("bar", "bob", -1, 1)
+ self.assertEqual(r.allocatorHRNs, ["foo", "bar", "bob"])
+
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ r.set_allocator("bar", "bob", -1, 0)
+ self.assertEqual(r.allocatorHRNs, ["foo", "bob"])
+
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar","foo","bar"], "slice1")
+ r.set_allocator("bar", "bob", 0, 0)
+ self.assertEqual(r.allocatorHRNs, ["foo", "bob"])
+
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar","foo","bar"], "slice1")
+ r.set_allocator("bar", "bob", 1, 0)
+ self.assertEqual(r.allocatorHRNs, ["foo", "bar", "foo", "bob"])
+
+ def testGetAllocator(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ self.assertEqual(r.get_allocators(), ["foo", "bar"])
+
+ def testSetConsumer(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ r.set_consumer("slice2")
+ self.assertEqual(r.get_consumer(), "slice2")
+
+ def testGetConsumer(self):
+ r = GacksRecord("cpu", 10, 15, 20, 25, ["foo","bar"], "slice1")
+ self.assertEqual(r.get_consumer(), "slice1")
+
+
+
+if __name__ == "__main__":
+ unittest.main()