tests/DotNetCommon.Test/Extensions/ObjectTests_DeepClone.cs
(开头部分) 31KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using DotNetCommon.Data;
using NUnit.Framework;
using Shouldly;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DotNetCommon.Extensions;
using System.Collections;
using System.Collections.ObjectModel;
using Newtonsoft.Json.Linq;
using System.Diagnostics;
using System.Numerics;
using System.ComponentModel;
using System.Drawing;
using System.Text.Json.Nodes;
using System.Text.Json;
namespace DotNetCommon.Test.Extensions
{
[TestFixture]
public class ObjectTests_DeepClone
{
[Test]
public void Test_null()
{
object obj = null;
var objNew = obj.DeepClone();
objNew.ShouldBeNull();
}
[Test]
public void Test_JObjectJArray()
{
var obj = new { Id = 1, Name = "小明" }.ToJson().ToObject<JObject>() as object;
var obj2 = obj.DeepClone();
Assert.IsFalse(obj2 == obj);
var arr = new[] { new { Id = 1, Name = "小明" } }.ToJson().ToObject<JArray>() as object;
obj2 = arr.DeepClone();
Assert.IsFalse(obj2 == arr);
}
[Test]
public void Test_JsonObjectJsonArrayJsonDocument()
{
var obj = new { Id = 1, Name = "小明" }.ToJson().ToObject<JsonObject>() as object;
var obj2 = obj.DeepClone();
Assert.IsFalse(obj2 == obj);
var arr = new[] { new { Id = 1, Name = "小明" } }.ToJson().ToObject<JsonArray>() as object;
obj2 = arr.DeepClone();
Assert.IsFalse(obj2 == arr);
var doc = new[] { new { Id = 1, Name = "小明" } }.ToJson().ToObject<JsonDocument>() as object;
obj2 = doc.DeepClone();
Assert.IsFalse(obj2 == arr);
}
[Test]
后面还有 833 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
