using SqlSugar;
using System;
namespace Model.Entity
{
///
/// 测试项判断记录:运行过程中测试项(IsTestItem 子程序)范围内每一次 OKExpression 判断。
/// 同一次运行的所有记录共享同一个 TestRoundId,导出测试报告时按此 Guid 查询。
/// IsSummary=true 的行为该测试项单次执行的汇总(PASS/NG),IsSummary=false 的行为单次判断明细。
///
public class TestCheckRecordEntity : BaseEntity
{
/// 同一次运行的统一标识(StepRunning.TestRoundID)
[SugarColumn(ColumnName = "TestRoundId", ColumnDescription = "运行轮次标识")]
public Guid TestRoundId { get; set; }
/// 作用域/台架名称
[SugarColumn(ColumnName = "Scope", ColumnDescription = "台架名称")]
public string Scope { get; set; } = string.Empty;
/// 测试项名称(当前ADP文件路径)
[SugarColumn(ColumnName = "FileName", ColumnDescription = "测试项名称")]
public string FileName { get; set; } = string.Empty;
/// 测试项名称(IsTestItem 子程序步骤的名称)
[SugarColumn(ColumnName = "TestItemName", Length = 200)]
public string TestItemName { get; set; } = string.Empty;
/// 发生判断的步骤名称
[SugarColumn(ColumnName = "StepName", Length = 200)]
public string StepName { get; set; } = string.Empty;
/// 子程序嵌套深度(0=主程序)
[SugarColumn(ColumnName = "Depth")]
public int Depth { get; set; }
/// 判断表达式
[SugarColumn(ColumnName = "OKExpression", Length = 1000, IsNullable = true)]
public string? OKExpression { get; set; }
/// 判断结果(true=PASS / false=NG)
[SugarColumn(ColumnName = "Pass")]
public bool Pass { get; set; }
/// 表达式变量的实际取值(如 "电压=12.5; 电流=3.2; ")
[SugarColumn(ColumnName = "Values", Length = 2000, IsNullable = true)]
public string? Values { get; set; }
/// 是否为汇总行(每个测试项单次执行结束时写入一条)
[SugarColumn(ColumnName = "IsSummary")]
public bool IsSummary { get; set; }
}
}