Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3024)

Unified Diff: appengine/findit/libs/test/meta_object_test.py

Issue 2641583002: [Cuprit-finder] Add MetaDict class. (Closed)
Patch Set: Fix nits. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine/findit/libs/test/meta_object_test.py
diff --git a/appengine/findit/libs/test/meta_object_test.py b/appengine/findit/libs/test/meta_object_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..45b0533a226970c12ecfe95ec727cf8fc23d74ca
--- /dev/null
+++ b/appengine/findit/libs/test/meta_object_test.py
@@ -0,0 +1,47 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import copy
+import unittest
+
+from libs.meta_object import Element
+from libs.meta_object import MetaDict
+
+
+class ElementTest(unittest.TestCase):
+ """Tests ``Element`` class."""
+
+ def testIsElement(self):
+ """Tests that the ``IsElement`` of ``Element`` object returns True."""
+ self.assertTrue(Element().is_element)
+
+
+class MetaDictTest(unittest.TestCase):
+ """Tests ``MetaDict`` class."""
+
+ def testIsElement(self):
+ """Tests that the ``IsElement`` of ``MetaDict`` object returns True."""
+ self.assertFalse(MetaDict({}).is_element)
+
+ def testMetaDictGetAndSetItem(self):
+ """Tests "get" and "set" item behavior of ``MetaDict``."""
+ d = {'a': 1, 'b': 2, 'c': 3}
+ meta_dict = MetaDict(copy.deepcopy(d))
chanli 2017/01/19 02:10:58 How about use deepcopy in MetaDict instead?
Sharu Jiang 2017/01/19 21:00:46 Done.
+ self.assertEqual(meta_dict['a'], d['a'])
+ self.assertEqual(meta_dict.get('b'), d.get('b'))
+ meta_dict['a'] = 9
+ d['a'] = 9
+ self.assertEqual(meta_dict['a'], d['a'])
+
+ def testMetaDictIterDict(self):
+ """Tests iterating ``MetaDict``."""
+ d = {'a': 1, 'b': 2, 'c': 3}
+ meta_dict = MetaDict(d)
+ self.assertListEqual(list(key for key in meta_dict), list(key for key in d))
+ self.assertListEqual(list(meta_dict.iteritems()), list(d.iteritems()))
+ self.assertListEqual(list(meta_dict.itervalues()), list(d.itervalues()))
+ self.assertListEqual(meta_dict.keys(), d.keys())
+ self.assertListEqual(meta_dict.values(), d.values())
+ self.assertEqual(MetaDict(d), MetaDict(d))
+

Powered by Google App Engine
This is Rietveld 408576698