tests/DotNetCommon.Test/EasyComparer/EasyComparerTests.cs
(开头部分) 25KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DotNetCommon.Test.EasyComparer
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Linq;
using DotNetCommon.EasyComparer;
using NUnit.Framework;
using Shouldly;
[TestFixture]
internal sealed class EasyComparerTests
{
[Test]
public void When_getting_instance_multiple_times()
{
var one = EasyComparer.Instance;
var two = EasyComparer.Instance;
one.ShouldBeSameAs(two);
}
[Test]
public void When_comparing_a_reference_object_to_itself_including_base_excluding_privates()
{
var obj = new SomeClass();
EasyComparer.Instance.Compare(obj, obj, true, false, out var result)
.ShouldBeTrue();
result.ShouldNotBeNull();
result.Count.ShouldBe(12);
result.ShouldAllBe(v => v.Value.Varies == false);
result.ShouldContain(p => p.Key.Name == "Id");
result.ShouldContain(p => p.Key.Name == "Age");
result.ShouldContain(p => p.Key.Name == "Stopwatch");
result.ShouldContain(p => p.Key.Name == "Bytes");
result.ShouldContain(p => p.Key.Name == "Name");
result.ShouldContain(p => p.Key.Name == "SomeArray");
result.ShouldContain(p => p.Key.Name == "SomeList");
result.ShouldContain(p => p.Key.Name == "SomeCollection");
result.ShouldContain(p => p.Key.Name == "SomeEnumerable");
result.ShouldContain(p => p.Key.Name == "SomeDictionary");
result.ShouldContain(p => p.Key.Name == "SomeNullable");
result.ShouldContain(p => p.Key.Name == "SomeDate");
result.ShouldNotContain(p => p.Key.Name == "SomePrivate");
result.ShouldNotContain(p => p.Key.Name == "SomeInternal");
}
[Test]
public void When_comparing_a_reference_object_to_itself_including_base_including_privates()
{
var obj = new SomeClass();
EasyComparer.Instance.Compare(obj, obj, true, true, out var result)
.ShouldBeTrue();
result.ShouldNotBeNull();
后面还有 626 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
