mutli_ec2_test.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 test_merge_recursive_array_item(self):
  53. a = {"a" : {"b": {"c": [1]}}}
  54. b = {"a" : {"b": {"c": 2}}}
  55. result = {}
  56. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  57. self.assertEqual(result, {"a": {"b": {"c": [1,2]}}})
  58. def test_merge_recursive_hash_item(self):
  59. a = {"a" : {"b": {"c": {"d": 1}}}}
  60. b = {"a" : {"b": {"c": 2}}}
  61. result = {}
  62. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  63. self.assertEqual(result, {"a": {"b": {"c": [{"d": 1}, 2]}}})
  64. def test_merge_recursive_array_hash(self):
  65. a = {"a" : [{"b": {"c": 1}}]}
  66. b = {"a" : {"b": {"c": 1}}}
  67. result = {}
  68. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  69. self.assertEqual(result, {"a": [{"b": {"c": 1}}]})
  70. def test_merge_recursive_hash_array(self):
  71. a = {"a" : {"b": {"c": 1}}}
  72. b = {"a" : [{"b": {"c": 1}}]}
  73. result = {}
  74. [multi_ec2.MultiEc2.merge_destructively(result, x) for x in [a,b]]
  75. self.assertEqual(result, {"a": [{"b": {"c": 1}}]})
  76. def tearDown(self):
  77. pass
  78. if __name__ == "__main__":
  79. unittest.main()