Files
懒得勤快 a91befb5f4 1. 修正ChineseCalendar计算干支日不正确的bug
2. 重构 ImageBorderRemover.cs,增强参数校验与异常处理,提升多层边框检测准确性,支持浅色背景自动识别,优化性能与颜色比较,移除灰度化处理,结构更清晰。
3. 增强HtmlDiff,新增 maxUnchangedLength 参数与辅助方法,优化 diff 合并逻辑,保持兼容性。
2026-09-15 10:14:58 +08:00

92 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Threading.Tasks;
using Masuit.Tools.Extension.Object;
using Masuit.Tools.Systems;
using Xunit;
namespace Masuit.Tools.Core.Test.AspNetCore
{
public class ObjectExtensionTests : TestBase
{
[Fact]
public void ToJsonTest()
{
var obj = new
{
Id = 1,
name = "van",
addressInfo = new
{
street = "123 Main St",
city = "zcvz",
},
remarks = new List<string> { "Deep Dark Fantastic", "爱玩游戏♂" },
};
var json = obj.ToJsonString(new JsonSerializerOptions() { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping });
Assert.Equal(
"{\"Id\":1,\"name\":\"van\",\"addressInfo\":{\"street\":\"123 Main St\",\"city\":\"zcvz\"},\"remarks\":[\"Deep Dark Fantastic\",\"爱玩游戏\u2642\"]}",
json);
}
[Fact]
public void ToJsonIgnoreNullTest()
{
var obj = new People
{
Name = "van",
Age = 52,
};
var json = obj.ToJsonIgnoreNull();
Assert.Equal(
"{\"Name\":\"van\",\"Age\":52}",
json);
}
[Fact]
public void FromObjectTest()
{
var json = "{\"Name\":\"van\",\"Age\":52}";
var obj = json.FromJson<People>(new JsonSerializerOptions() { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping });
Assert.Equal(
"van",
obj.Name);
}
[Fact]
public void SerializeSortByNameTest()
{
var obj = new People
{
Name = "van",
Age = 52,
};
var json = obj.ToJsonString(new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
TypeInfoResolver = new SerializeSortByNameResolver()
});
Assert.Equal(
"{\"Age\":52,\"Name\":\"van\"}",
json);
}
private class People
{
public string Name { get; set; }
public int Age { get; set; }
}
}
}