The tests in PropertyBagTests are passing because an exception is thrown as expected, but it's not thrown at the place it should.
(You should probably scope the throw assertions on the statement expected to throw to avoid this kind of issue).
(You should probably scope the throw assertions on the statement expected to throw to avoid this kind of issue).