def test_custom_data_implements_dict_protocol(self): d = CustomData(MagicMock(), properties=self.props) self.assertTrue('created_at' in d) self.assertTrue('modified_at' in d) self.assertTrue('foo' in d) self.assertEqual(d['foo'], 1) self.assertEqual(d['created_at'], self.created_at) self.assertEqual(d['modified_at'], self.modified_at) self.assertEqual(d.get('foo'), 1) self.assertEqual(d.get('created_at'), self.created_at) self.assertEqual(d.get('modified_at'), self.modified_at) self.assertEqual(d.get('nonexistent'), None) self.assertEqual(d.get('nonexistent', 42), 42) with self.assertRaises(KeyError): d['nonexistent'] keys = set(sorted(d.keys(), key=str)) self.assertEqual(keys, set(d)) self.assertEqual(keys, {'created_at', 'modified_at', 'bar', 'baz', 'foo', 'quux'}) values = sorted(list(d.values()), key=str) keys_from_items = {k for k, v in d.items()} values_from_items = sorted([v for k, v in d.items()], key=str) self.assertEqual(keys, keys_from_items) self.assertEqual(values, values_from_items)
def test_custom_data_implements_dict_protocol(self): d = CustomData(MagicMock(), properties=self.props) self.assertTrue('created_at' in d) self.assertTrue('modified_at' in d) self.assertTrue('foo' in d) self.assertEqual(d['foo'], 1) self.assertEqual(d['created_at'], self.created_at) self.assertEqual(d['modified_at'], self.modified_at) self.assertEqual(d.get('foo'), 1) self.assertEqual(d.get('created_at'), self.created_at) self.assertEqual(d.get('modified_at'), self.modified_at) self.assertEqual(d.get('nonexistent'), None) self.assertEqual(d.get('nonexistent', 42), 42) with self.assertRaises(KeyError): d['nonexistent'] keys = set(sorted(d.keys(), key=str)) self.assertEqual(keys, set(d)) self.assertEqual( keys, {'created_at', 'modified_at', 'bar', 'baz', 'foo', 'quux'}) values = sorted(list(d.values()), key=str) keys_from_items = {k for k, v in d.items()} values_from_items = sorted([v for k, v in d.items()], key=str) self.assertEqual(keys, keys_from_items) self.assertEqual(values, values_from_items)
def test_custom_data_implements_dict_protocol(self): d = CustomData(MagicMock(), properties=self.props) self.assertTrue("created_at" in d) self.assertTrue("modified_at" in d) self.assertTrue("foo" in d) self.assertEqual(d["foo"], 1) self.assertEqual(d["created_at"], self.created_at) self.assertEqual(d["modified_at"], self.modified_at) self.assertEqual(d.get("foo"), 1) self.assertEqual(d.get("created_at"), self.created_at) self.assertEqual(d.get("modified_at"), self.modified_at) self.assertEqual(d.get("nonexistent"), None) self.assertEqual(d.get("nonexistent", 42), 42) with self.assertRaises(KeyError): d["nonexistent"] keys = set(sorted(d.keys(), key=str)) self.assertEqual(keys, set(d)) self.assertEqual(keys, {"created_at", "modified_at", "bar", "baz", "foo", "quux"}) values = sorted(list(d.values()), key=str) keys_from_items = {k for k, v in d.items()} values_from_items = sorted([v for k, v in d.items()], key=str) self.assertEqual(keys, keys_from_items) self.assertEqual(values, values_from_items)
def test_non_materialized_property_is_ensured(self, _ensure_data): d = CustomData(MagicMock(), href='test/resource') self.assertFalse(d.is_materialized()) d.get('corge') self.assertTrue(_ensure_data.called)
def test_non_materialized_property_is_ensured(self, _ensure_data): d = CustomData(MagicMock(), href='test/resource') self.assertFalse(d.is_materialized()) d.get('corge') self.assertTrue(_ensure_data.called)