def test_update_parsed(self): scope = Scope() phrase = 'changeable value is `changeable`' phrase = Phrase(phrase, scope) phrase._update_parsed() self.assertEqual(phrase.latest, "changeable value is True") # no exception scope.change() phrase._update_parsed() self.assertEqual(phrase.latest, "changeable value is False") # no exception scope.change() scope.raise_error() self.assertRaises(KeyError, phrase._update_parsed) # also test not changed, with exception scope = Scope() phrase = 'changeable value is `changeable`' phrase = Phrase(phrase, scope) phrase._update_parsed() self.assertEqual(phrase.latest, "changeable value is True") scope.raise_error() self.assertRaises(KeyError, phrase._update_parsed)