Skip to content

Commit 5a8d437

Browse files
committed
Adding unit tests.
1 parent 1357768 commit 5a8d437

44 files changed

Lines changed: 1122 additions & 101 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

UnityMvvmToolkit.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{A9EFA272
1313
EndProject
1414
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityMvvmToolkit.Test.Unit", "tests\UnityMvvmToolkit.Test.Unit\UnityMvvmToolkit.Test.Unit.csproj", "{DAE87E24-B2B1-4B61-B411-17201146670A}"
1515
EndProject
16+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityMvvmToolkit.Test.Integration", "tests\UnityMvvmToolkit.Test.Integration\UnityMvvmToolkit.Test.Integration.csproj", "{D278ACF8-97BE-495A-A197-F86C248E2346}"
17+
EndProject
1618
Global
1719
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1820
Debug|Any CPU = Debug|Any CPU
@@ -27,13 +29,18 @@ Global
2729
{DAE87E24-B2B1-4B61-B411-17201146670A}.Debug|Any CPU.Build.0 = Debug|Any CPU
2830
{DAE87E24-B2B1-4B61-B411-17201146670A}.Release|Any CPU.ActiveCfg = Release|Any CPU
2931
{DAE87E24-B2B1-4B61-B411-17201146670A}.Release|Any CPU.Build.0 = Release|Any CPU
32+
{D278ACF8-97BE-495A-A197-F86C248E2346}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33+
{D278ACF8-97BE-495A-A197-F86C248E2346}.Debug|Any CPU.Build.0 = Debug|Any CPU
34+
{D278ACF8-97BE-495A-A197-F86C248E2346}.Release|Any CPU.ActiveCfg = Release|Any CPU
35+
{D278ACF8-97BE-495A-A197-F86C248E2346}.Release|Any CPU.Build.0 = Release|Any CPU
3036
EndGlobalSection
3137
GlobalSection(SolutionProperties) = preSolution
3238
HideSolutionNode = FALSE
3339
EndGlobalSection
3440
GlobalSection(NestedProjects) = preSolution
3541
{A8734DD9-F957-4315-B270-1E3FD81F5537} = {566BFBA3-9616-448A-B1AF-7750539D1A12}
3642
{DAE87E24-B2B1-4B61-B411-17201146670A} = {A9EFA272-7925-416B-A4B7-450672CD05C7}
43+
{D278ACF8-97BE-495A-A197-F86C248E2346} = {A9EFA272-7925-416B-A4B7-450672CD05C7}
3744
EndGlobalSection
3845
GlobalSection(ExtensibilityGlobals) = postSolution
3946
SolutionGuid = {F2B8E625-E8D2-4679-8F1B-9FB4E6532EA4}

src/UnityMvvmToolkit.Core/Converters/ParameterValueConverters/ParameterToFloatConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public sealed class ParameterToFloatConverter : ParameterValueConverter<float>
88
[MethodImpl(MethodImplOptions.AggressiveInlining)]
99
public override float Convert(string parameter)
1010
{
11-
parameter.TryParse(out var result);
11+
_ = parameter.TryParse(out var result);
1212
return result;
1313
}
1414
}

src/UnityMvvmToolkit.Core/Converters/PropertyValueConverters/FloatToStrConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public override string Convert(float value)
1515
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1616
public override float ConvertBack(string value)
1717
{
18-
value.TryParse(out var result);
18+
_ = value.TryParse(out var result);
1919
return result;
2020
}
2121
}

src/UnityMvvmToolkit.Core/Extensions/ReadOnlyMemoryExtensions.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ namespace UnityMvvmToolkit.Core.Extensions
66
{
77
public static class ReadOnlyMemoryExtensions
88
{
9-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
10-
public static bool IsEmptyOrWhiteSpace(this ReadOnlyMemory<char> memory)
11-
{
12-
return memory.Span.IsEmptyOrWhiteSpace();
13-
}
14-
159
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1610
internal static LineSplitEnumerator Split(this ReadOnlyMemory<char> memory, char separator, bool trim = false)
1711
{

src/UnityMvvmToolkit.Core/Extensions/ReadOnlySpanExtensions.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@ namespace UnityMvvmToolkit.Core.Extensions
55
{
66
public static class ReadOnlySpanExtensions
77
{
8-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
9-
public static bool IsEmptyOrWhiteSpace(this ReadOnlySpan<char> span)
10-
{
11-
return span.IsEmpty || span.IsWhiteSpace();
12-
}
13-
148
[MethodImpl(MethodImplOptions.AggressiveInlining)]
159
public static bool Contains(this ReadOnlySpan<char> span, char value, out int index)
1610
{

src/UnityMvvmToolkit.Core/Internal/BindingContextMemberProvider.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ internal sealed class BindingContextMemberProvider : IClassMemberProvider
1313
{
1414
public void GetBindingContextMembers(Type bindingContextType, IDictionary<int, MemberInfo> result)
1515
{
16+
if (typeof(IBindingContext).IsAssignableFrom(bindingContextType) == false)
17+
{
18+
throw new InvalidOperationException(
19+
$"{bindingContextType.Name} is not assignable from {nameof(IBindingContext)}.");
20+
}
21+
1622
var memberInfosSpan = bindingContextType
1723
.GetMembers(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
1824
.AsSpan();
@@ -23,7 +29,7 @@ public void GetBindingContextMembers(Type bindingContextType, IDictionary<int, M
2329

2430
if (TryGetMemberHashCode(bindingContextType, memberInfo, out var hashCode))
2531
{
26-
result.TryAdd(hashCode, memberInfo);
32+
result.Add(hashCode, memberInfo);
2733
}
2834
}
2935
}

src/UnityMvvmToolkit.Core/Internal/StringParsers/BindingStringParser.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ protected static bool IsBindingOption(ReadOnlySpan<char> optionOpen, LineSplitDa
4141
}
4242

4343
[MethodImpl(MethodImplOptions.AggressiveInlining)]
44-
protected void AssureLineIsNotEmpty(ReadOnlySpan<char> lineData)
44+
protected static void AssureLineIsNotEmpty(ReadOnlySpan<char> lineData)
4545
{
46-
if (lineData.IsEmptyOrWhiteSpace())
46+
if (lineData.IsWhiteSpace())
4747
{
4848
throw new NullReferenceException(nameof(lineData));
4949
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Converters/ParameterValueConverters/ParameterToFloatConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public sealed class ParameterToFloatConverter : ParameterValueConverter<float>
88
[MethodImpl(MethodImplOptions.AggressiveInlining)]
99
public override float Convert(string parameter)
1010
{
11-
parameter.TryParse(out var result);
11+
_ = parameter.TryParse(out var result);
1212
return result;
1313
}
1414
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Converters/PropertyValueConverters/FloatToStrConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public override string Convert(float value)
1515
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1616
public override float ConvertBack(string value)
1717
{
18-
value.TryParse(out var result);
18+
_ = value.TryParse(out var result);
1919
return result;
2020
}
2121
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Extensions/ReadOnlyMemoryExtensions.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ namespace UnityMvvmToolkit.Core.Extensions
66
{
77
public static class ReadOnlyMemoryExtensions
88
{
9-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
10-
public static bool IsEmptyOrWhiteSpace(this ReadOnlyMemory<char> memory)
11-
{
12-
return memory.Span.IsEmptyOrWhiteSpace();
13-
}
14-
159
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1610
internal static LineSplitEnumerator Split(this ReadOnlyMemory<char> memory, char separator, bool trim = false)
1711
{

0 commit comments

Comments
 (0)