mutli_ec2_test.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/usr/bin/env python
  2. import unittest
  3. import sys
  4. import os
  5. import sys
  6. import multi_ec2
  7. class MultiEc2Test(unittest.TestCase):
  8. def setUp(self):
  9. pass
  10. def test_merge_simple_1(self):
  11. a = {"key1" : 1}
  12. b = {"key1" : 2}
  13. result = {}
  14. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  15. self.assertEqual(result, {"key1": [1,2]})
  16. def test_merge_b_empty(self):
  17. a = {"key1" : 1}
  18. b = {}
  19. result = {}
  20. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  21. self.assertEqual(result, {"key1": 1})
  22. def test_merge_a_empty(self):
  23. b = {"key1" : 1}
  24. a = {}
  25. result = {}
  26. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  27. self.assertEqual(result, {"key1": 1})
  28. def test_merge_hash_array(self):
  29. a = {"key1" : {"hasha": 1}}
  30. b = {"key1" : [1,2]}
  31. result = {}
  32. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  33. self.assertEqual(result, {"key1": [{"hasha": 1}, 1,2]})
  34. def test_merge_array_hash(self):
  35. a = {"key1" : [1,2]}
  36. b = {"key1" : {"hasha": 1}}
  37. result = {}
  38. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  39. self.assertEqual(result, {"key1": [1,2, {"hasha": 1}]})
  40. def test_merge_keys_1(self):
  41. a = {"key1" : [1,2], "key2" : {"hasha": 2}}
  42. b = {"key2" : {"hashb": 1}}
  43. result = {}
  44. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  45. self.assertEqual(result, {"key1": [1,2], "key2": {"hasha": 2, "hashb": 1}})
  46. def test_merge_recursive_1(self):
  47. a = {"a" : {"b": {"c": 1}}}
  48. b = {"a" : {"b": {"c": 2}}}
  49. result = {}
  50. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  51. self.assertEqual(result, {"a": {"b": {"c": [1,2]}}})
  52. def tearDown(self):
  53. pass
  54. if __name__ == "__main__":
  55. unittest.main()