public void LoadConstantSettingWorks(string constValue, int expectedValue, Units expectedUnits, bool alreadyExists = false) { Variable existing = null; if (alreadyExists) { existing = new Variable { PackageId = TestPackageId, Name = "constant.MaxAge" }; loader.Scope.Store(existing); } var constant = Constant.ParseEncoded(constValue); var variableInfo = loader.LoadConstantSetting(constant, "MaxAge"); var variable = variableInfo.Variable; variable.Name.Should().Be("constant.MaxAge"); variable.Value.Should().Be(expectedValue.ToString()); variable.Default.Should().Be(expectedValue.ToString()); variable.Units.Should().Be(expectedUnits.GetStringValue()); variable.Type.Should().Be(SupportedTypes.Integer.GetStringValue()); variable.IsGenerated.Should().BeTrue(); variableInfo.Ref.PackageId.Should().Be(TestPackageId); if (existing != null) { variable.Should().BeSameAs(existing); } errorCache.ShouldHaveNoErrors(); }
public void ExtractVariableWorks(object value, object defaultValue, SupportedTypes supportedType, Units unit, object max = null, object min = null) { var variable = new Variable { Name = "Test", Value = value?.ToString(), Default = defaultValue?.ToString(), Max = max?.ToString(), Min = min?.ToString(), Type = supportedType.GetStringValue(), Units = unit.GetStringValue() }; var errorCache = new ErrorCacheMock(); var info = VariableInfo.Extract(variable, "myPackage", errorCache); errorCache.ShouldHaveNoErrors(); info.Ref.VariableName.Should().Be("Test"); info.Ref.PackageId.Should().Be("myPackage"); info.HasErrors.Should().BeFalse(); info.Value.ShouldBeEquivalentTo(value); info.Default.ShouldBeEquivalentTo(defaultValue); info.Min.ShouldBeEquivalentTo(min); info.Max.ShouldBeEquivalentTo(max); info.SupportedType.Should().Be(supportedType); info.Units.Should().Be(unit); }