tests/DotNetCommon.Test/Accessors/ObjectAccessorTests.cs
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DotNetCommon.Test.Accessors
{
using System;
using System.Diagnostics.CodeAnalysis;
using DotNetCommon.Accessors;
using NUnit.Framework;
using Shouldly;
[TestFixture]
public sealed class ObjectAccessorTests
{
[Test]
public void When_creating_object_accessor_with_default_flags()
{
var parent = new Parent();
ObjectAccessor parentAccessor = Accessor.Build(parent);
parentAccessor.ShouldBeOfType<ObjectAccessor>();
parentAccessor.Type.ShouldBe(typeof(Parent));
parentAccessor.IgnoreCase.ShouldBe(false);
parentAccessor.IncludesNonPublic.ShouldBe(false);
parentAccessor.ShouldNotBeNull();
parentAccessor.Properties.ShouldNotBeNull();
parentAccessor.Properties.Count.ShouldBe(2);
parentAccessor.Properties["Name"].PropertyType.ShouldBe(typeof(string));
parentAccessor.Properties["Age"].PropertyType.ShouldBe(typeof(int));
parentAccessor[parent, "Name"].ShouldBeNull();
parentAccessor[parent, "Name"] = "Foo";
parentAccessor[parent, "Name"].ShouldBe("Foo");
parentAccessor[parent, "Age"].ShouldBe(0);
parentAccessor[parent, "Age"] = 10;
parentAccessor[parent, "Age"].ShouldBe(10);
var child = new Child();
ObjectAccessor childAccessor = Accessor.Build(child);
childAccessor.ShouldBeOfType<ObjectAccessor>();
childAccessor.Type.ShouldBe(typeof(Child));
childAccessor.IgnoreCase.ShouldBe(false);
childAccessor.IncludesNonPublic.ShouldBe(false);
childAccessor.ShouldNotBeNull();
childAccessor.Properties.ShouldNotBeNull();
childAccessor.Properties.Count.ShouldBe(3);
childAccessor.Properties["ChildName"].PropertyType.ShouldBe(typeof(string));
childAccessor.Properties["Name"].PropertyType.ShouldBe(typeof(string));
childAccessor.Properties["Age"].PropertyType.ShouldBe(typeof(int));
childAccessor[child, "ChildName"].ShouldBe("Bar");
childAccessor[child, "ChildName"] = "BarBar";
childAccessor[child, "ChildName"].ShouldBe("BarBar");
childAccessor[child, "Name"].ShouldBeNull();
childAccessor[child, "Name"] = "Foo";
childAccessor[child, "Name"].ShouldBe("Foo");
}
后面还有 178 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
