Example #1
0
 def test_failed_getattr(self):
     kd = KeyDict()
     with self.assertRaises(KeyError):
         _ = kd["waldo"]
         # issue 893: failed __getitem__ caused state change
     self.assertNotIn("waldo", kd)
     kd.update({"waldo": 5})
     res = kd["waldo"]
     self.assertEqual(res, 5)
     self.assertIn("waldo", kd)
Example #2
0
 def test_failed_getattr(self):
     kd = KeyDict()
     with self.assertRaises(KeyError):
         _ = kd["waldo"]
         # issue 893: failed __getitem__ caused state change
     self.assertNotIn("waldo", kd)
     kd.update({"waldo": 5})
     res = kd["waldo"]
     self.assertEqual(res, 5)
     self.assertIn("waldo", kd)
Example #3
0
 def test_nonnumeric(self):
     x = VectorVariable(2, "x")
     kd = KeyDict()
     kd[x[1]] = "2"
     self.assertTrue(np.isnan(kd[x[0]]))
     self.assertEqual(kd[x[1]], "2")
     self.assertNotIn(x[0], kd)
     self.assertIn(x[1], kd)
Example #4
0
 def test_getattr(self):
     kd = KeyDict()
     x = Variable("x", models=["motor"])
     kd[x] = 52
     self.assertEqual(kd[x], 52)
     self.assertEqual(kd[x.key], 52)
     self.assertEqual(kd["x"], 52)
     self.assertEqual(kd["x_motor"], 52)
     self.assertNotIn("x_someothermodelname", kd)
Example #5
0
 def test_getattr(self):
     kd = KeyDict()
     x = Variable("x", lineage=[("Motor", 0)])
     kd[x] = 52
     self.assertEqual(kd[x], 52)
     self.assertEqual(kd[x.key], 52)
     self.assertEqual(kd["x"], 52)
     self.assertEqual(kd["Motor.x"], 52)
     self.assertNotIn("x.Someothermodelname", kd)
Example #6
0
 def test_vector(self):
     v = VectorVariable(3, "v")
     kd = KeyDict()
     kd[v] = np.array([2, 3, 4])
     self.assertTrue(all(kd[v] == kd[v.key]))
     self.assertTrue(all(kd["v"] == np.array([2, 3, 4])))
     self.assertEqual(v[0].key.idx, (0, ))
     self.assertEqual(kd[v][0], kd[v[0]])
     self.assertEqual(kd[v][0], 2)
     kd[v[0]] = 6
     self.assertEqual(kd[v][0], kd[v[0]])
     self.assertEqual(kd[v][0], 6)
     self.assertTrue(all(kd[v] == np.array([6, 3, 4])))
Example #7
0
 def test_dictlike(self):
     kd = KeyDict()
     kd["a string key"] = "a string value"
     self.assertTrue(isinstance(kd, dict))
     self.assertEqual(kd.keys(), ["a string key"])
Example #8
0
 def test_setattr(self):
     kd = KeyDict()
     x = Variable("x", models=["test"])
     kd[x] = 1
     self.assertIn(x, kd)
     self.assertEqual(set(kd), set([x.key]))
Example #9
0
 def test_dictlike(self):
     kd = KeyDict()
     kd["a string key"] = "a string value"
     self.assertTrue(isinstance(kd, dict))
     self.assertEqual(kd.keys(), ["a string key"])
Example #10
0
 def test_setattr(self):
     kd = KeyDict()
     x = Variable("x", lineage=(("test", 0), ))
     kd[x] = 1
     self.assertIn(x, kd)
     self.assertEqual(set(kd), set([x.key]))