def test_get_bool(self):
        x = JsonObject(foo=True, bar=False)

        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)

        # Test conversion from int to bool
        x = JsonObject(foo=1, bar=0)
        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)

        # Test conversion from string to bool
        x = JsonObject(foo="ok", bar="f", barb="false", barc="")
        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)
        self.assertEquals(x.get_bool("barb"), False)
        self.assertEquals(x.get_bool("barc"), False)

        # Test that bad numbers raise an exception
        x = JsonObject(foo=5)
        self.assertRaises(JsonConversionException, x.get_bool, "foo")

        # Test the default value is returned if field is missing.
        self.assertEquals(x.get_bool("none", default_value=True), True)

        # Test returns none if missing.
        self.assertEquals(x.get_bool("none", none_if_missing=True), None)

        # Raise an exception when field is missing.
        self.assertRaises(JsonMissingFieldException, x.get_bool, "none")
    def test_get_bool(self):
        x = JsonObject(foo=True, bar=False)

        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)

        # Test conversion from int to bool
        x = JsonObject(foo=1, bar=0)
        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)

        # Test conversion from string to bool
        x = JsonObject(foo="ok", bar="f", barb="false", barc="")
        self.assertEquals(x.get_bool("foo"), True)
        self.assertEquals(x.get_bool("bar"), False)
        self.assertEquals(x.get_bool("barb"), False)
        self.assertEquals(x.get_bool("barc"), False)

        # Test that bad numbers raise an exception
        x = JsonObject(foo=5)
        self.assertRaises(JsonConversionException, x.get_bool, "foo")

        # Test the default value is returned if field is missing.
        self.assertEquals(x.get_bool("none", default_value=True), True)

        # Test returns none if missing.
        self.assertEquals(x.get_bool("none", none_if_missing=True), None)

        # Raise an exception when field is missing.
        self.assertRaises(JsonMissingFieldException, x.get_bool, "none")