Skip to content

Commit 98ce69a

Browse files
committed
Add ValueConverterHandler constructor test.
1 parent 9607609 commit 98ce69a

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using UnityMvvmToolkit.Core.Converters.PropertyValueConverters;
2+
3+
namespace UnityMvvmToolkit.Test.Unit.TestValueConverters;
4+
5+
public class IntToBoolConverter : PropertyValueConverter<int, bool>
6+
{
7+
public override bool Convert(int value)
8+
{
9+
return value == 1;
10+
}
11+
12+
public override int ConvertBack(bool value)
13+
{
14+
return value ? 1 : 0;
15+
}
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using UnityMvvmToolkit.Core.Converters.PropertyValueConverters;
2+
3+
namespace UnityMvvmToolkit.Test.Unit.TestValueConverters;
4+
5+
public class InvertedIntToBoolConverter : PropertyValueConverter<int, bool>
6+
{
7+
public override bool Convert(int value)
8+
{
9+
return value == 0;
10+
}
11+
12+
public override int ConvertBack(bool value)
13+
{
14+
return value ? 0 : 1;
15+
}
16+
}

tests/UnityMvvmToolkit.Test.Unit/ValueConverterHandlerTests.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,30 @@
55
using UnityMvvmToolkit.Core.Interfaces;
66
using UnityMvvmToolkit.Core.Internal.Helpers;
77
using UnityMvvmToolkit.Core.Internal.ObjectHandlers;
8+
using UnityMvvmToolkit.Test.Unit.TestValueConverters;
89

910
namespace UnityMvvmToolkit.Test.Unit;
1011

1112
[SuppressMessage("Usage", "xUnit1026:Theory methods should use all of their parameters")]
1213
public class ValueConverterHandlerTests
1314
{
15+
[Fact]
16+
public void RegisterValueConverters_ShouldNotThrow_WhenConvertersHaveTheSameTypes()
17+
{
18+
// Arrange
19+
var valueConverters = new IValueConverter[]
20+
{
21+
new IntToBoolConverter(),
22+
new InvertedIntToBoolConverter()
23+
};
24+
25+
// Assert
26+
FluentActions
27+
.Invoking(() => new ValueConverterHandler(valueConverters))
28+
.Should()
29+
.NotThrow();
30+
}
31+
1432
[Theory]
1533
[MemberData(nameof(PropertyConverterDataSets))]
1634
[MemberData(nameof(ParameterConverterDataSets))]

0 commit comments

Comments
 (0)