From 274041c0191cbb68c0b37a5c50cc0e6fa5ed9f0f Mon Sep 17 00:00:00 2001 From: Florin Rotaru Date: Sun, 21 Nov 2021 19:37:12 +0200 Subject: [PATCH] net 6 --- Statics.Compare/Statics.Compare.csproj | 16 +- Tests/Models/FromTo_N0.cs | 8 +- Tests/Models/FromTo_N0_Members.cs | 32 +-- Tests/Models/FromTo_N0_NonStatic_Members.cs | 60 ++--- Tests/Models/FromTo_N0_Static_Members.cs | 44 ++-- Tests/Models/Models.csproj | 10 +- Tests/N0/C0/C0.csproj | 6 +- Tests/N0/C0/From_C0.cs | 2 +- Tests/N0/NS0/From_NS0.cs | 2 +- Tests/N0/NS0/NS0.csproj | 6 +- Tests/N0/S0/From_S0.cs | 2 +- Tests/N0/S0/S0.csproj | 6 +- Tests/Playground/Defaults.cs | 235 ++++++++++++++++++++ Tests/Playground/Playground.csproj | 8 +- Tests/Playground/Types.cs | 196 +--------------- 15 files changed, 345 insertions(+), 288 deletions(-) create mode 100644 Tests/Playground/Defaults.cs diff --git a/Statics.Compare/Statics.Compare.csproj b/Statics.Compare/Statics.Compare.csproj index a006132..413d3ee 100644 --- a/Statics.Compare/Statics.Compare.csproj +++ b/Statics.Compare/Statics.Compare.csproj @@ -2,17 +2,17 @@ Statics.Compare - net5.0 + net6.0 true Florin Rotaru - 5.0.1 - LICENSE - true - https://github.com/florin-rotaru/Statics.Compare - compare, compareobjects, compare-objects, comparison, equal, equality, none-equal, deep-equal, deep-equals, diffs, difference + 6.0.0 + LICENSE + true + https://github.com/florin-rotaru/Statics.Compare + compare, compareobjects, compare-objects, comparison, equal, equality, none-equal, deep-equal, deep-equals, diffs, difference 9.0 - Compares members of two objects and evaluates if they are equal or none equal based on conventions (public properties with the same names and same/derived/convertible types). Provides also few tweak options + Compares members of two objects and evaluates if they are equal or none equal based on conventions (public properties with the same names and same/derived/convertible types). Provides also few tweak options @@ -20,7 +20,7 @@ - + diff --git a/Tests/Models/FromTo_N0.cs b/Tests/Models/FromTo_N0.cs index b8ddb4c..4741560 100644 --- a/Tests/Models/FromTo_N0.cs +++ b/Tests/Models/FromTo_N0.cs @@ -212,7 +212,7 @@ private static void GetMembers(Type sourceType, Type destinationType, out List outSourceMembers.Exists(m => m.Name == s.Name)).OrderBy(o => o.Name).ToList(); } - public void ToClass(bool hasReadonlyMembers, bool hasStaticMembers) where D : new() + public void ToClass(bool hasReadonlyMembers) where D : new() { if (hasReadonlyMembers) return; @@ -223,7 +223,7 @@ private static void GetMembers(Type sourceType, Type destinationType, out List.CompileFunc(); S source = NewSource(); - D destination = new D(); + D destination = new(); // ======= destination = map(source); @@ -232,7 +232,7 @@ private static void GetMembers(Type sourceType, Type destinationType, out List(sourceType, destinationType); } - public void ToStruct(bool hasReadonlyMembers, bool hasStaticMembers) where D : struct + public void ToStruct(bool hasReadonlyMembers) where D : struct { if (hasReadonlyMembers) return; @@ -252,7 +252,7 @@ public void ToStruct(bool hasReadonlyMembers, bool hasStaticMembers) where D CompareConvert(sourceType, destinationType); } - public void ToNullableStruct(bool hasReadonlyMembers, bool hasStaticMembers) where D : struct + public void ToNullableStruct(bool hasReadonlyMembers) where D : struct { if (hasReadonlyMembers) return; diff --git a/Tests/Models/FromTo_N0_Members.cs b/Tests/Models/FromTo_N0_Members.cs index f1e94f6..8779550 100644 --- a/Tests/Models/FromTo_N0_Members.cs +++ b/Tests/Models/FromTo_N0_Members.cs @@ -10,41 +10,41 @@ public FromTo_N0_Members(ITestOutputHelper console) : base(console) { } #region To C0 [Fact] - public void To_C0_I0_Members() => ToClass(false, false); + public void To_C0_I0_Members() => ToClass(false); [Fact] - public void To_C0_I1_Nullable_Members() => ToClass(false, false); + public void To_C0_I1_Nullable_Members() => ToClass(false); [Fact] - public void To_C0_I2_Literal_Members() => ToClass(true, false); + public void To_C0_I2_Literal_Members() => ToClass(true); [Fact] - public void To_C0_I3_Readonly_Members() => ToClass(true, false); + public void To_C0_I3_Readonly_Members() => ToClass(true); [Fact] - public void To_C0_I4_Static_Members() => ToClass(false, true); + public void To_C0_I4_Static_Members() => ToClass(false); [Fact] - public void To_C0_I5_StaticNullable_Members() => ToClass(false, true); + public void To_C0_I5_StaticNullable_Members() => ToClass(false); #endregion #region To S0 [Fact] - public void To_S0_I0_Members() => ToStruct(false, false); + public void To_S0_I0_Members() => ToStruct(false); [Fact] - public void To_S0_I1_Nullable_Members() => ToStruct(false, false); + public void To_S0_I1_Nullable_Members() => ToStruct(false); [Fact] - public void To_S0_I2_Literal_Members() => ToStruct(true, false); + public void To_S0_I2_Literal_Members() => ToStruct(true); [Fact] - public void To_S0_I3_Static_Members() => ToStruct(false, true); + public void To_S0_I3_Static_Members() => ToStruct(false); [Fact] - public void To_S0_I4_StaticNullable_Members() => ToStruct(false, true); + public void To_S0_I4_StaticNullable_Members() => ToStruct(false); #endregion #region To NS0 [Fact] - public void To_NS0_I0_Members() => ToNullableStruct(false, false); + public void To_NS0_I0_Members() => ToNullableStruct(false); [Fact] - public void To_NS0_I1_Nullable_Members() => ToNullableStruct(false, false); + public void To_NS0_I1_Nullable_Members() => ToNullableStruct(false); [Fact] - public void To_NS0_I2_Literal_Members() => ToNullableStruct(true, false); + public void To_NS0_I2_Literal_Members() => ToNullableStruct(true); [Fact] - public void To_NS0_I3_Static_Members() => ToNullableStruct(false, true); + public void To_NS0_I3_Static_Members() => ToNullableStruct(false); [Fact] - public void To_NS0_I4_StaticNullable_Members() => ToNullableStruct(false, true); + public void To_NS0_I4_StaticNullable_Members() => ToNullableStruct(false); #endregion } } diff --git a/Tests/Models/FromTo_N0_NonStatic_Members.cs b/Tests/Models/FromTo_N0_NonStatic_Members.cs index d13842b..c4b3d34 100644 --- a/Tests/Models/FromTo_N0_NonStatic_Members.cs +++ b/Tests/Models/FromTo_N0_NonStatic_Members.cs @@ -4,35 +4,35 @@ namespace Internal { - public class FromTo_N0_NonStatic_Members : FromTo_N0 where S : new() - { - public FromTo_N0_NonStatic_Members(ITestOutputHelper console) : base(console) { } + public class FromTo_N0_NonStatic_Members : FromTo_N0 where S : new() + { + public FromTo_N0_NonStatic_Members(ITestOutputHelper console) : base(console) { } - #region To C0 - [Fact] - public void To_C0_I0_Members() => ToClass(false, false); - [Fact] - public void To_C0_I1_Nullable_Members() => ToClass(false, false); - [Fact] - public void To_C0_I2_Literal_Members() => ToClass(true, false); - [Fact] - public void To_C0_I3_Readonly_Members() => ToClass(true, false); - #endregion - #region To S0 - [Fact] - public void To_S0_I0_Members() => ToStruct(false, false); - [Fact] - public void To_S0_I1_Nullable_Members() => ToStruct(false, false); - [Fact] - public void To_S0_I2_Literal_Members() => ToStruct(true, false); - #endregion - #region To NS0 - [Fact] - public void To_NS0_I0_Members() => ToNullableStruct(false, false); - [Fact] - public void To_NS0_I1_Nullable_Members() => ToNullableStruct(false, false); - [Fact] - public void To_NS0_I2_Literal_Members() => ToNullableStruct(true, false); - #endregion - } + #region To C0 + [Fact] + public void To_C0_I0_Members() => ToClass(false); + [Fact] + public void To_C0_I1_Nullable_Members() => ToClass(false); + [Fact] + public void To_C0_I2_Literal_Members() => ToClass(true); + [Fact] + public void To_C0_I3_Readonly_Members() => ToClass(true); + #endregion + #region To S0 + [Fact] + public void To_S0_I0_Members() => ToStruct(false); + [Fact] + public void To_S0_I1_Nullable_Members() => ToStruct(false); + [Fact] + public void To_S0_I2_Literal_Members() => ToStruct(true); + #endregion + #region To NS0 + [Fact] + public void To_NS0_I0_Members() => ToNullableStruct(false); + [Fact] + public void To_NS0_I1_Nullable_Members() => ToNullableStruct(false); + [Fact] + public void To_NS0_I2_Literal_Members() => ToNullableStruct(true); + #endregion + } } diff --git a/Tests/Models/FromTo_N0_Static_Members.cs b/Tests/Models/FromTo_N0_Static_Members.cs index 73a6d0b..e84750e 100644 --- a/Tests/Models/FromTo_N0_Static_Members.cs +++ b/Tests/Models/FromTo_N0_Static_Members.cs @@ -4,27 +4,27 @@ namespace Internal { - public class FromTo_N0_Static_Members : FromTo_N0 where S : new() - { - public FromTo_N0_Static_Members(ITestOutputHelper console) : base(console) { } + public class FromTo_N0_Static_Members : FromTo_N0 where S : new() + { + public FromTo_N0_Static_Members(ITestOutputHelper console) : base(console) { } - #region To C0 - [Fact] - public void To_C0_I4_Static_Members() => ToClass(false, true); - [Fact] - public void To_C0_I5_StaticNullable_Members() => ToClass(false, true); - #endregion - #region To S0 - [Fact] - public void To_S0_I3_Static_Members() => ToStruct(false, true); - [Fact] - public void To_S0_I4_StaticNullable_Members() => ToStruct(false, true); - #endregion - #region To NS0 - [Fact] - public void To_NS0_I3_Static_Members() => ToNullableStruct(false, true); - [Fact] - public void To_NS0_I4_StaticNullable_Members() => ToNullableStruct(false, true); - #endregion - } + #region To C0 + [Fact] + public void To_C0_I4_Static_Members() => ToClass(false); + [Fact] + public void To_C0_I5_StaticNullable_Members() => ToClass(false); + #endregion + #region To S0 + [Fact] + public void To_S0_I3_Static_Members() => ToStruct(false); + [Fact] + public void To_S0_I4_StaticNullable_Members() => ToStruct(false); + #endregion + #region To NS0 + [Fact] + public void To_NS0_I3_Static_Members() => ToNullableStruct(false); + [Fact] + public void To_NS0_I4_StaticNullable_Members() => ToNullableStruct(false); + #endregion + } } diff --git a/Tests/Models/Models.csproj b/Tests/Models/Models.csproj index cfc2a5b..156f737 100644 --- a/Tests/Models/Models.csproj +++ b/Tests/Models/Models.csproj @@ -1,22 +1,22 @@ - net5.0 + net6.0 false Models - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Tests/N0/C0/C0.csproj b/Tests/N0/C0/C0.csproj index 2b9c69e..91955eb 100644 --- a/Tests/N0/C0/C0.csproj +++ b/Tests/N0/C0/C0.csproj @@ -1,19 +1,19 @@ - net5.0 + net6.0 false - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Tests/N0/C0/From_C0.cs b/Tests/N0/C0/From_C0.cs index a2efd36..245d04a 100644 --- a/Tests/N0/C0/From_C0.cs +++ b/Tests/N0/C0/From_C0.cs @@ -3,7 +3,7 @@ using Xunit; using Xunit.Abstractions; -namespace C0 +namespace C0.Tests { public class From_NS_C0_I0_Members : FromTo_N0_NonStatic_Members { public From_NS_C0_I0_Members(ITestOutputHelper console) : base(console) {} } diff --git a/Tests/N0/NS0/From_NS0.cs b/Tests/N0/NS0/From_NS0.cs index 53cfedd..75848a8 100644 --- a/Tests/N0/NS0/From_NS0.cs +++ b/Tests/N0/NS0/From_NS0.cs @@ -3,7 +3,7 @@ using Xunit; using Xunit.Abstractions; -namespace NS0 +namespace NS0.Tests { public class From_NS_NS0_I0_Members : FromTo_N0_NonStatic_Members { public From_NS_NS0_I0_Members(ITestOutputHelper console) : base(console) {} } diff --git a/Tests/N0/NS0/NS0.csproj b/Tests/N0/NS0/NS0.csproj index 2b9c69e..91955eb 100644 --- a/Tests/N0/NS0/NS0.csproj +++ b/Tests/N0/NS0/NS0.csproj @@ -1,19 +1,19 @@ - net5.0 + net6.0 false - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Tests/N0/S0/From_S0.cs b/Tests/N0/S0/From_S0.cs index d78a329..019e740 100644 --- a/Tests/N0/S0/From_S0.cs +++ b/Tests/N0/S0/From_S0.cs @@ -3,7 +3,7 @@ using Xunit; using Xunit.Abstractions; -namespace S0 +namespace S0.Tests { public class From_NS_S0_I0_Members : FromTo_N0_NonStatic_Members { public From_NS_S0_I0_Members(ITestOutputHelper console) : base(console) {} } diff --git a/Tests/N0/S0/S0.csproj b/Tests/N0/S0/S0.csproj index 2b9c69e..91955eb 100644 --- a/Tests/N0/S0/S0.csproj +++ b/Tests/N0/S0/S0.csproj @@ -1,19 +1,19 @@ - net5.0 + net6.0 false - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Tests/Playground/Defaults.cs b/Tests/Playground/Defaults.cs new file mode 100644 index 0000000..3bda7cd --- /dev/null +++ b/Tests/Playground/Defaults.cs @@ -0,0 +1,235 @@ +using AutoFixture; +using Models; +using Statics.Mapper; +using System; +using System.Linq; +using Xunit; +using static Statics.Compare.Members; + +namespace Playground.Tests +{ + [Collection(nameof(Playground))] + public class Defaults + { + private Fixture Fixture { get; } + + class TC1_0 + { + public TC0_I0_Members[] Members { get; set; } + } + + class TC2C1_0 + { + public TC1_0 N1 { get; set; } + } + + class TC_0 + { + public TC2C1_0 N2 { get; set; } + } + + public Defaults() + { + Fixture = new Fixture(); + Fixture.Behaviors.OfType().ToList() + .ForEach(b => Fixture.Behaviors.Remove(b)); + Fixture.Behaviors.Add(new OmitOnRecursionBehavior()); + + var customization = new SupportMutableValueTypesCustomization(); + customization.Customize(Fixture); + } + + private static bool IsNullableValueType(Type type) => + Nullable.GetUnderlyingType(type) != null; + + private static void CompareDefaults() + where L : new() + where R : new() + { + Type leftType = typeof(L); + Type rightType = typeof(R); + + L left = default; + R right = default; + + if (IsNullableValueType(leftType)) + { + if (IsNullableValueType(rightType)) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else if (rightType.IsValueType) + Assert.False(CompareEquals(left, right)); + else + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + } + else if (typeof(L).IsValueType) + { + if (IsNullableValueType(rightType)) + Assert.False(CompareEquals(left, right)); + else if (rightType.IsValueType) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else + Assert.False(CompareEquals(left, right)); + } + else + { + if (IsNullableValueType(rightType)) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else if (rightType.IsValueType) + Assert.False(CompareEquals(left, right)); + else + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + } + + // ======= + left = new L(); + + if (IsNullableValueType(leftType)) + { + if (IsNullableValueType(rightType)) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else if (rightType.IsValueType) + Assert.False(CompareEquals(left, right)); + else + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + } + else if (typeof(L).IsValueType) + { + if (IsNullableValueType(rightType)) + Assert.False(CompareEquals(left, right)); + else if (rightType.IsValueType) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else + Assert.False(CompareEquals(left, right)); + } + else + { + if (IsNullableValueType(rightType)) + Assert.False(CompareEquals(left, right)); + else if (rightType.IsValueType) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else + Assert.False(CompareEquals(left, right)); + } + + // ======= + left = default; + right = new R(); + + if (IsNullableValueType(leftType)) + { + if (IsNullableValueType(rightType)) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else if (rightType.IsValueType) + Assert.False(CompareEquals(left, right)); + else + Assert.False(CompareEquals(left, right)); + } + else if (typeof(L).IsValueType) + { + if (IsNullableValueType(rightType)) + Assert.False(CompareEquals(left, right)); + else if (rightType.IsValueType) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + } + else + { + if (IsNullableValueType(rightType)) + Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); + else if (rightType.IsValueType) + Assert.False(CompareEquals(left, right)); + else + Assert.False(CompareEquals(left, right)); + } + } + + private void CompareEnumerable() + { + var entries = Fixture.Create(); + var leftEntries = Mapper.Map(entries); + var rightEntries = Mapper.Map(leftEntries); + Assert.True(CompareEquals(leftEntries, rightEntries)); + + leftEntries[0] = Mapper.Map(Fixture.Create()); + Assert.False(CompareEquals(leftEntries, rightEntries)); + } + + [Fact] + public void FromToDefaults() + { + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + CompareDefaults(); + } + + } +} diff --git a/Tests/Playground/Playground.csproj b/Tests/Playground/Playground.csproj index c314787..d6b4fc9 100644 --- a/Tests/Playground/Playground.csproj +++ b/Tests/Playground/Playground.csproj @@ -1,27 +1,27 @@ - net5.0 + net6.0 false Playground - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Tests/Playground/Types.cs b/Tests/Playground/Types.cs index 55f58ec..3eeee5a 100644 --- a/Tests/Playground/Types.cs +++ b/Tests/Playground/Types.cs @@ -1,14 +1,14 @@ -using Statics.Compare; -using Statics.Mapper; -using AutoFixture; +using AutoFixture; using Models; +using Statics.Compare; +using Statics.Mapper; using System; using System.Collections.Generic; using System.Linq; using Xunit; using static Statics.Compare.Members; -namespace Playground +namespace Playground.Tests { [Collection(nameof(Playground))] public class Types @@ -27,7 +27,7 @@ class TC2C1_0 class TC_0 { - public TC2C1_0 N2 { get; set; } + public TC2C1_0 N2 { get; set; } } public Types() @@ -41,111 +41,9 @@ public Types() customization.Customize(Fixture); } - private bool IsNullableValueType(Type type) => + private static bool IsNullableValueType(Type type) => Nullable.GetUnderlyingType(type) != null; - private void CompareDefaults() - where L : new() - where R : new() - { - Type leftType = typeof(L); - Type rightType = typeof(R); - - L left = default; - R right = default; - - if (IsNullableValueType(leftType)) - { - if (IsNullableValueType(rightType)) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else if (rightType.IsValueType) - Assert.False(CompareEquals(left, right)); - else - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - } - else if (typeof(L).IsValueType) - { - if (IsNullableValueType(rightType)) - Assert.False(CompareEquals(left, right)); - else if (rightType.IsValueType) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else - Assert.False(CompareEquals(left, right)); - } - else - { - if (IsNullableValueType(rightType)) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else if (rightType.IsValueType) - Assert.False(CompareEquals(left, right)); - else - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - } - - // ======= - left = new L(); - - if (IsNullableValueType(leftType)) - { - if (IsNullableValueType(rightType)) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else if (rightType.IsValueType) - Assert.False(CompareEquals(left, right)); - else - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - } - else if (typeof(L).IsValueType) - { - if (IsNullableValueType(rightType)) - Assert.False(CompareEquals(left, right)); - else if (rightType.IsValueType) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else - Assert.False(CompareEquals(left, right)); - } - else - { - if (IsNullableValueType(rightType)) - Assert.False(CompareEquals(left, right)); - else if (rightType.IsValueType) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else - Assert.False(CompareEquals(left, right)); - } - - // ======= - left = default; - right = new R(); - - if (IsNullableValueType(leftType)) - { - if (IsNullableValueType(rightType)) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else if (rightType.IsValueType) - Assert.False(CompareEquals(left, right)); - else - Assert.False(CompareEquals(left, right)); - } - else if (typeof(L).IsValueType) - { - if (IsNullableValueType(rightType)) - Assert.False(CompareEquals(left, right)); - else if (rightType.IsValueType) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - } - else - { - if (IsNullableValueType(rightType)) - Assert.True(CompareEquals(left, right, ignoreDefaultRightValues: true)); - else if (rightType.IsValueType) - Assert.False(CompareEquals(left, right)); - else - Assert.False(CompareEquals(left, right)); - } - } - private void CompareEnumerable() { var entries = Fixture.Create(); @@ -157,87 +55,11 @@ private void CompareEnumerable() Assert.False(CompareEquals(leftEntries, rightEntries)); } - [Fact] - public void FromToDefaults() - { - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - CompareDefaults(); - } - [Fact] public void FromToEnum() { - TS0_I1_Nullable_Members left = new TS0_I1_Nullable_Members(); - TS0_I1_Nullable_Members right = new TS0_I1_Nullable_Members(); + TS0_I1_Nullable_Members left = new(); + TS0_I1_Nullable_Members right = new(); Assert.True(CompareEquals(left.EnumMember, right.UndefinedEnumMember, useConvert: true)); left.EnumMember = TABCEnum.B; @@ -310,7 +132,7 @@ public void MemberDiffs() Assert.True(CompareEquals(leftEntries, rightEntries)); leftEntries[0].N2.N1.Members[0] = Mapper.Map(Fixture.Create()); - + Assert.False(CompareEquals(leftEntries, rightEntries, out IEnumerable memberDiffs, evaluateChildNodes: true)); Assert.NotEmpty(memberDiffs); }