Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }