summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py
diff options
context:
space:
mode:
Diffstat (limited to 'AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py')
-rw-r--r--AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py b/AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py
new file mode 100644
index 0000000..fda766f
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxPython/tests/fractional_knapsackTest.py
@@ -0,0 +1,36 @@
+'''
+Created on Sep 7, 2018
+
+@author: haidong
+'''
+import unittest
+
+from sources.fractional_knapsack import getBestItem, getOptimalValue
+
+class Test(unittest.TestCase):
+
+ def testBestItem1(self):
+ values = [60, 100, 120]
+ weights = [20, 50, 30]
+ self.assertEqual(2, getBestItem(values, weights))
+
+ def testBestItem2(self):
+ values = [500]
+ weights = [30]
+ self.assertEqual(0, getBestItem(values, weights))
+
+ def test1(self):
+ values = [44, 26,31]
+ weights = [6, 28,38]
+ capacity = 50
+ self.assertAlmostEqual(83.0526, getOptimalValue(capacity, values, weights), 4)
+
+ def test2(self):
+ values = [60, 100, 120]
+ weights = [20,50,30]
+ capacity = 50
+ self.assertAlmostEqual(180, getOptimalValue(capacity, values, weights), 4)
+
+if __name__ == "__main__":
+ # import sys;sys.argv = ['', 'Test.testName']
+ unittest.main()