tests/DotNetCommon.Test/ExpressionHelperTests/GetInitOrReturnPropNamesTests.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using DotNetCommon.Test.ExpressionHelperTests.Model2;
using Shouldly;
using System.Xml.Linq;

namespace DotNetCommon.Test.ExpressionHelperTests
{
    namespace Model2
    {
        public class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public object Obj { get; set; }
            public int Age { get; set; }
            public DateTime? Birth { get; set; }
            public TaskStatus Status { get; set; }
            public Person InnerPerson { get; set; }
        }
    }

    [TestFixture]
    internal class GetInitOrReturnPropNamesTests
    {
        [Test]
        public void Test()
        {
            Expression<Func<Person>> expression = () => new Person
            {
                Id = 1,
                Name = "",
                Age = 2
            };
            var names = ExpressionHelper.GetInitOrReturnPropNames(expression);
            names.ShouldBe(new List<string> { "Id", "Name", "Age" });

            Expression<Func<Person, Person>> expression2 = (p) => new Person
            {
                Id = 1,
                Name = "",
                Age = 2
            };
            names = ExpressionHelper.GetInitOrReturnPropNames(expression2);
            names.ShouldBe(new List<string> { "Id", "Name", "Age" });

            expression2 = p => p;
            names = ExpressionHelper.GetInitOrReturnPropNames(expression2);
            names.ShouldBe(new List<string> { });

            Expression<Func<Person, Object>> expression3 = (p) => p.Id;
            names = ExpressionHelper.GetInitOrReturnPropNames(expression3);
            names.ShouldBe(new List<string> { "Id" });

            expression3 = (p) => new { p.Id, p.Name };
            names = ExpressionHelper.GetInitOrReturnPropNames(expression3);
后面还有 8 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。