Update FromEnum tests with storage type parameter

This commit is contained in:
Daniel Cronqvist 2024-11-16 18:35:59 +01:00
parent 35c6ba5002
commit 2e8eaa5a72

View file

@ -14,8 +14,10 @@ public class CustomEnumDefinitionTests
private enum TestEnum1 { Value1, Value2, Value3 } private enum TestEnum1 { Value1, Value2, Value3 }
[Fact] [Theory]
public void FromEnum_Type_WhenTypeIsEnum_ReturnsCustomEnumDefinition() [InlineData(CustomEnumStorageType.String)]
[InlineData(CustomEnumStorageType.Int)]
public void FromEnum_Type_WhenTypeIsEnum_ReturnsCustomEnumDefinition(CustomEnumStorageType storageType)
{ {
// Arrange // Arrange
var type = typeof(TestEnum1); var type = typeof(TestEnum1);
@ -23,13 +25,13 @@ public class CustomEnumDefinitionTests
{ {
ID = 0, ID = 0,
Name = "TestEnum1", Name = "TestEnum1",
StorageType = CustomEnumStorageType.Int, StorageType = storageType,
Values = ["Value1", "Value2", "Value3"], Values = ["Value1", "Value2", "Value3"],
ValueAsFlags = false ValueAsFlags = false
}; };
// Act // Act
var result = CustomEnumDefinition.FromEnum(type); var result = CustomEnumDefinition.FromEnum(type, storageType);
// Assert // Assert
DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result); DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result);
@ -38,8 +40,10 @@ public class CustomEnumDefinitionTests
[Flags] [Flags]
private enum TestEnum2 { Value1, Value2, Value3 } private enum TestEnum2 { Value1, Value2, Value3 }
[Fact] [Theory]
public void FromEnum_Type_WhenEnumIsFlags_ReturnsCustomEnumDefinition() [InlineData(CustomEnumStorageType.String)]
[InlineData(CustomEnumStorageType.Int)]
public void FromEnum_Type_WhenEnumIsFlags_ReturnsCustomEnumDefinition(CustomEnumStorageType storageType)
{ {
// Arrange // Arrange
var type = typeof(TestEnum2); var type = typeof(TestEnum2);
@ -47,53 +51,57 @@ public class CustomEnumDefinitionTests
{ {
ID = 0, ID = 0,
Name = "TestEnum2", Name = "TestEnum2",
StorageType = CustomEnumStorageType.Int, StorageType = storageType,
Values = ["Value1", "Value2", "Value3"], Values = ["Value1", "Value2", "Value3"],
ValueAsFlags = true ValueAsFlags = true
}; };
// Act // Act
var result = CustomEnumDefinition.FromEnum(type); var result = CustomEnumDefinition.FromEnum(type, storageType);
// Assert // Assert
DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result); DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result);
} }
[Fact] [Theory]
public void FromEnum_T_WhenTypeIsEnum_ReturnsCustomEnumDefinition() [InlineData(CustomEnumStorageType.String)]
[InlineData(CustomEnumStorageType.Int)]
public void FromEnum_T_WhenTypeIsEnum_ReturnsCustomEnumDefinition(CustomEnumStorageType storageType)
{ {
// Arrange // Arrange
var expected = new CustomEnumDefinition var expected = new CustomEnumDefinition
{ {
ID = 0, ID = 0,
Name = "TestEnum1", Name = "TestEnum1",
StorageType = CustomEnumStorageType.Int, StorageType = storageType,
Values = ["Value1", "Value2", "Value3"], Values = ["Value1", "Value2", "Value3"],
ValueAsFlags = false ValueAsFlags = false
}; };
// Act // Act
var result = CustomEnumDefinition.FromEnum<TestEnum1>(); var result = CustomEnumDefinition.FromEnum<TestEnum1>(storageType);
// Assert // Assert
DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result); DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result);
} }
[Fact] [Theory]
public void FromEnum_T_WhenEnumIsFlags_ReturnsCustomEnumDefinition() [InlineData(CustomEnumStorageType.String)]
[InlineData(CustomEnumStorageType.Int)]
public void FromEnum_T_WhenEnumIsFlags_ReturnsCustomEnumDefinition(CustomEnumStorageType storageType)
{ {
// Arrange // Arrange
var expected = new CustomEnumDefinition var expected = new CustomEnumDefinition
{ {
ID = 0, ID = 0,
Name = "TestEnum2", Name = "TestEnum2",
StorageType = CustomEnumStorageType.Int, StorageType = storageType,
Values = ["Value1", "Value2", "Value3"], Values = ["Value1", "Value2", "Value3"],
ValueAsFlags = true ValueAsFlags = true
}; };
// Act // Act
var result = CustomEnumDefinition.FromEnum<TestEnum2>(); var result = CustomEnumDefinition.FromEnum<TestEnum2>(storageType);
// Assert // Assert
DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result); DotTiledAssert.AssertCustomEnumDefinitionEqual(expected, result);