42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using ZB.MOM.WW.ScadaBridge.Commons.Validation;
|
|
|
|
namespace ZB.MOM.WW.ScadaBridge.Commons.Tests.Validation;
|
|
|
|
public class ActorNameRulesTests
|
|
{
|
|
[Theory]
|
|
[InlineData("a b")]
|
|
[InlineData("Furnace #3")]
|
|
[InlineData("Ofen Süd")]
|
|
[InlineData("x/y")]
|
|
[InlineData("")]
|
|
[InlineData(null)]
|
|
[InlineData("$abc")]
|
|
[InlineData("100%")]
|
|
public void IsValid_RejectsIllegalNames(string? name)
|
|
{
|
|
Assert.False(ActorNameRules.IsValid(name));
|
|
Assert.NotNull(ActorNameRules.Describe(name));
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("Furnace-3")]
|
|
[InlineData("Line_1.A")]
|
|
[InlineData("a%20b")]
|
|
[InlineData("Pump(A)")]
|
|
[InlineData("say\"hi\"")]
|
|
public void IsValid_AcceptsLegalNames(string name)
|
|
{
|
|
Assert.True(ActorNameRules.IsValid(name));
|
|
Assert.Null(ActorNameRules.Describe(name));
|
|
}
|
|
|
|
[Fact]
|
|
public void Describe_NamesTheOffendingValue()
|
|
{
|
|
var msg = ActorNameRules.Describe("Furnace #3");
|
|
Assert.Contains("'Furnace #3'", msg);
|
|
Assert.Contains("not allowed in a runtime actor name", msg);
|
|
}
|
|
}
|