Files
Caleb Sandford deQuincey ecdd3e2a9e intial commit
2025-06-27 23:27:49 +01:00

83 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
namespace UnityEditor.PackageManager.ValidationSuite.ValidationTests.Standards
{
internal class StandardVersion
{
private int major;
private int minor;
private int patch;
public StandardVersion(int major, int minor, int patch)
{
this.major = major;
this.minor = minor;
this.patch = patch;
}
}
internal interface IStandard
{
string StandardCode { get; }
StandardVersion Version { get; }
string URL { get; }
}
internal abstract class BaseStandard : IStandard
{
public abstract string StandardCode { get; }
public abstract StandardVersion Version { get; }
public string URL =>
$"https://standards.ds.unity3d.com/standards/{StandardCode}?version={Version}";
}
internal interface IStandardChecker : IStandard
{
List<StandardIssue> IssuesFound { get; }
}
enum StandardIssueType
{
Info,
Warning,
Error
}
internal class StandardIssue
{
//TODO: consider using error codes?
public StandardIssueType Type;
public string Message;
}
internal abstract class BaseStandardChecker : BaseStandard, IStandardChecker
{
List<StandardIssue> issues = new List<StandardIssue>();
protected void AddError(string message)
{
issues.Add(new StandardIssue { Message = message, Type = StandardIssueType.Error });
}
protected void AddWarning(string message)
{
issues.Add(new StandardIssue { Message = message, Type = StandardIssueType.Warning });
}
protected void AddInformation(string message)
{
issues.Add(new StandardIssue { Message = message, Type = StandardIssueType.Info });
}
public List<StandardIssue> IssuesFound => issues;
}
internal interface IStandardCondition : IStandard
{
//USC code
bool Check();
}
}