def test_delitem(self): """Test item deletion.""" var = StructureType("var") var["one"] = BaseType("one") self.assertEqual(var.keys(), ['one']) del var["one"] self.assertEqual(var.keys(), [])
def test_setitem(self): """Test item assignment. Assignment requires the key and the name of the variable to be identical. It also takes care of reordering children that are reinserted. """ var = StructureType("var") var["foo.bar"] = BaseType("foo.bar") self.assertEqual(var.keys(), ['foo%2Ebar']) with self.assertRaises(KeyError): var["bar"] = BaseType("baz") # test reordering var["bar"] = BaseType("bar") var["foo.bar"] = BaseType("foo.bar") self.assertEqual(var.keys(), ['bar', 'foo%2Ebar'])
def test_StructureType_setitem(): """Test item assignment. Assignment requires the key and the name of the variable to be identical. It also takes care of reordering children that are reinserted. """ var = StructureType("var") var["foo.bar"] = BaseType("foo.bar") assert (list(var.keys()) == ['foo%2Ebar']) with pytest.raises(KeyError): var["bar"] = BaseType("baz") # test reordering var["bar"] = BaseType("bar") var["foo.bar"] = BaseType("foo.bar") assert (list(var.keys()) == ['bar', 'foo%2Ebar'])
def test_StructureType_delitem(): """Test item deletion.""" var = StructureType("var") var["one"] = BaseType("one") var["two"] = BaseType("two") var["three"] = BaseType("three") assert (list(var.keys()) == ['one', 'two', 'three']) del var["one"] assert (list(var.keys()) == ['two', 'three']) # Make sure that one can safely delete # a non visible child: subset = var[("two",)] assert list(subset.keys()) == ['two'] assert isinstance(subset, StructureType) subset.__delitem__("three") # Cannot delete an inexistent child: with pytest.raises(KeyError): del var["inexistent"]