using Util.Data; using Util.Generators.Configuration; using Xunit; namespace Util.Generators.Tests.Configuration { /// /// 生成器配置项构建器测试 /// public class GeneratorOptionsBuilderTest { /// /// 生成器配置项 /// private readonly GeneratorOptions _options; /// /// 测试初始化 /// public GeneratorOptionsBuilderTest() { var builder = new GeneratorOptionsBuilder(); _options = builder.BuildAsync().Result; } /// /// 测试基础配置 /// [Fact] public void TestBaseInfo() { Assert.Equal( "TemplatePath", _options.TemplatePath ); Assert.Equal( "OutputPath", _options.OutputPath ); } /// /// 测试项目配置1 /// [Fact] public void TestProjects_1() { var project = _options.Projects["Test"]; Assert.Equal( "Test", project.Name ); Assert.Equal( DatabaseType.PgSql, project.DbType ); Assert.Null( project.TargetDbType ); Assert.Equal( "ConnectionString_Test", project.ConnectionString ); Assert.Equal( "UnitOfWorkName_Test", project.UnitOfWorkName ); Assert.Equal( ProjectType.WebApi, project.ProjectType ); Assert.Equal( "123", project.ApiPort ); Assert.Equal( "666", project.UiPort ); Assert.Equal( "ClientAppName_Test", project.Client.AppName ); Assert.Equal( "1", project.Client.Port ); Assert.True( project.Enabled ); Assert.True( project.Utc ); Assert.True( project.I18n ); Assert.True( project.EnableSchema ); Assert.Equal( "1", project.Extend ); } /// /// 测试项目配置2 /// [Fact] public void TestProjects_2() { var project = _options.Projects["Test2"]; Assert.Equal( "Test2", project.Name ); Assert.Equal( DatabaseType.MySql, project.DbType ); Assert.Equal( DatabaseType.SqlServer, project.TargetDbType ); Assert.Equal( "ConnectionString_Test2", project.ConnectionString ); Assert.Equal( "UnitOfWorkName_Test2", project.UnitOfWorkName ); Assert.Equal( ProjectType.Ui, project.ProjectType ); Assert.Equal( "456", project.ApiPort ); Assert.Equal( "888", project.UiPort ); Assert.Equal( "ClientAppName_Test2", project.Client.AppName ); Assert.Equal( "2", project.Client.Port ); Assert.False( project.Enabled ); Assert.False( project.Utc ); Assert.False( project.I18n ); Assert.False( project.EnableSchema ); Assert.Equal( "2", project.Extend ); } /// /// 测试消息配置 /// [Fact] public void TestMessages() { Assert.Equal( "RequiredMessage", _options.Messages.RequiredMessage ); Assert.Equal( "MaxLengthMessage", _options.Messages.MaxLengthMessage ); } } }