Exemplo n.º 1
0
class TiledElementTestCase(TestCase):

    def setUp(self):
        self.tiled_element = TiledElement()
        self.tiled_element.name = "Foo"

    def test_from_xml_string_should_raise_on_TiledElement(self):
        with self.assertRaises(AttributeError):
            TiledElement.from_xml_string("<element></element>")

    def test_when_property_is_reserved_contains_invalid_property_name_returns_true(self):
        self.tiled_element = TiledElement()
        self.tiled_element.name = "Foo"
        items = [("contains_invalid_property_name", None)]
        self.assertTrue(self.tiled_element.contains_invalid_property_name(items))

    def test_when_property_is_not_reserved_contains_invalid_property_name_returns_false(self):
        self.assertFalse(self.tiled_element.contains_invalid_property_name(list()))

    @patch("pytmx.parse_properties")
    def test_set_properties_raises_value_error_if_invalid_property_name_in_node(self, mock_parse_properties):
        mock_node = Mock()
        mock_node.items.return_value = list()
        self.tiled_element.contains_invalid_property_name = Mock(return_value=True)
        with self.assertRaises(ValueError):
            self.tiled_element.set_properties(mock_node)

    def test_repr(self):
        self.assertEqual("<TiledElement: \"Foo\">it add ..", self.tiled_element.__repr__())