def METHOD_NAME(self):
    ns = Context(allowed_variables=VARIABLES)
    # Setting to a type different from the allowed input type should not
    # work.
    with self.assertRaises(ValueError) as ve:
        ns["PIYO"] = False
    e = ve.exception.args
    self.assertEqual(e[0], "global_ns")
    self.assertEqual(e[1], "set_type")
    self.assertEqual(e[2], "PIYO")
    self.assertEqual(e[3], False)
    self.assertEqual(e[4], six.text_type)
    ns["PIYO"] = "piyo"
    self.assertIsInstance(ns["PIYO"], Piyo)
    self.assertEqual(ns["PIYO"].value, "piyo")
    self.assertEqual(ns["PIYO"].context, ns)
    ns["PIYO"] = Piyo(ns, "fuga")
    self.assertIsInstance(ns["PIYO"], Piyo)
    self.assertEqual(ns["PIYO"].value, "fuga")
    self.assertEqual(ns["PIYO"].context, ns)