diff --git a/DotTiled.Tests/Serialization/TestData.cs b/DotTiled.Tests/Serialization/TestData.cs index 9b3b13f..8fc9b9e 100644 --- a/DotTiled.Tests/Serialization/TestData.cs +++ b/DotTiled.Tests/Serialization/TestData.cs @@ -27,4 +27,44 @@ public static partial class TestData using var stringReader = new StreamReader(stream); return stringReader.ReadToEnd(); } + + public static IEnumerable MapsThatHaveTmxAndTmj => + [ + ["Serialization.TestData.Map.default_map.default-map", TestData.DefaultMap(), Array.Empty()] + ]; + + private static CustomTypeDefinition[] typedefs = [ + new CustomClassDefinition + { + Name = "TestClass", + ID = 1, + UseAs = CustomClassUseAs.Property, + Members = [ + new StringProperty + { + Name = "Name", + Value = "" + }, + new FloatProperty + { + Name = "Amount", + Value = 0f + } + ] + }, + new CustomClassDefinition + { + Name = "Test", + ID = 2, + UseAs = CustomClassUseAs.All, + Members = [ + new ClassProperty + { + Name = "Yep", + PropertyType = "TestClass", + Properties = [] + } + ] + } + ]; } diff --git a/DotTiled.Tests/Serialization/Tmj/TmjMapReaderTests.cs b/DotTiled.Tests/Serialization/Tmj/TmjMapReaderTests.cs index e04423b..0cdad90 100644 --- a/DotTiled.Tests/Serialization/Tmj/TmjMapReaderTests.cs +++ b/DotTiled.Tests/Serialization/Tmj/TmjMapReaderTests.cs @@ -2,51 +2,16 @@ namespace DotTiled.Tests; public partial class TmjMapReaderTests { - public static IEnumerable DeserializeMap_ValidTmjExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected_Data => - [ - ["Serialization.TestData.Map.default_map.default-map.tmj", TestData.DefaultMap()] - ]; - + public static IEnumerable Maps => TestData.MapsThatHaveTmxAndTmj; [Theory] - [MemberData(nameof(DeserializeMap_ValidTmjExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected_Data))] - public void TmxMapReaderReadMap_ValidTmjExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected(string testDataFile, Map expectedMap) + [MemberData(nameof(Maps))] + public void TmxMapReaderReadMap_ValidTmjExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected( + string testDataFile, + Map expectedMap, + IReadOnlyCollection customTypeDefinitions) { // Arrange - CustomTypeDefinition[] customTypeDefinitions = [ - new CustomClassDefinition - { - Name = "TestClass", - ID = 1, - UseAs = CustomClassUseAs.Property, - Members = [ - new StringProperty - { - Name = "Name", - Value = "" - }, - new FloatProperty - { - Name = "Amount", - Value = 0f - } - ] - }, - new CustomClassDefinition - { - Name = "Test", - ID = 2, - UseAs = CustomClassUseAs.All, - Members = [ - new ClassProperty - { - Name = "Yep", - PropertyType = "TestClass", - Properties = [] - } - ] - } - ]; - + testDataFile += ".tmj"; var json = TestData.GetRawStringFor(testDataFile); Template ResolveTemplate(string source) { diff --git a/DotTiled.Tests/Serialization/Tmx/TmxMapReaderTests.cs b/DotTiled.Tests/Serialization/Tmx/TmxMapReaderTests.cs index 5ee162f..3134863 100644 --- a/DotTiled.Tests/Serialization/Tmx/TmxMapReaderTests.cs +++ b/DotTiled.Tests/Serialization/Tmx/TmxMapReaderTests.cs @@ -4,50 +4,16 @@ namespace DotTiled.Tests; public partial class TmxMapReaderTests { - public static IEnumerable DeserializeMap_ValidXmlExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected_Data => - [ - ["Serialization.TestData.Map.default_map.default-map.tmx", TestData.DefaultMap()] - ]; - + public static IEnumerable Maps => TestData.MapsThatHaveTmxAndTmj; [Theory] - [MemberData(nameof(DeserializeMap_ValidXmlExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected_Data))] - public void TmxMapReaderReadMap_ValidXmlExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected(string testDataFile, Map expectedMap) + [MemberData(nameof(Maps))] + public void TmxMapReaderReadMap_ValidXmlExternalTilesetsAndTemplates_ReturnsMapThatEqualsExpected( + string testDataFile, + Map expectedMap, + IReadOnlyCollection customTypeDefinitions) { // Arrange - CustomTypeDefinition[] customTypeDefinitions = [ - new CustomClassDefinition - { - Name = "TestClass", - ID = 1, - UseAs = CustomClassUseAs.Property, - Members = [ - new StringProperty - { - Name = "Name", - Value = "" - }, - new FloatProperty - { - Name = "Amount", - Value = 0f - } - ] - }, - new CustomClassDefinition - { - Name = "Test", - ID = 2, - UseAs = CustomClassUseAs.All, - Members = [ - new ClassProperty - { - Name = "Yep", - PropertyType = "TestClass", - Properties = [] - } - ] - } - ]; + testDataFile += ".tmx"; using var reader = TestData.GetXmlReaderFor(testDataFile); Template ResolveTemplate(string source) {