public void When_the_external_variable_was_not_set_the_variable_evaluation_must_be_return_the_default_value_for_each_datatype()
        {
            var strExternalVar = this.CreateExternalVariable("oval:mss:var:1", SimpleDatatypeEnumeration.@string);
            var intExternalVar = this.CreateExternalVariable("oval:mss:var:2", SimpleDatatypeEnumeration.@int);
            var boolExternalVar = this.CreateExternalVariable("oval:mss:var:3", SimpleDatatypeEnumeration.boolean);
            var allExternalVariables = new Definitions.VariablesTypeVariableExternal_variable[] { strExternalVar, intExternalVar, boolExternalVar };
            var ovalVariables = this.CreateOvalVariablesFromExternalVariables(allExternalVariables);

            var stringExternalVarEvaluation = new ExternalVariableEvaluator(strExternalVar, ovalVariables).GetValue().Single();
            var integerExternalVarEvaluation = new ExternalVariableEvaluator(intExternalVar, ovalVariables).GetValue().Single();
            var booleanExternalVarEvaluation = new ExternalVariableEvaluator(boolExternalVar, ovalVariables).GetValue().Single();

            Assert.AreEqual(string.Empty, stringExternalVarEvaluation, "An unexpected default value for external string variable evaluation was found.");
            Assert.AreEqual(string.Empty, integerExternalVarEvaluation, "An unexpected default value for external integer variable evaluation was found.");
            Assert.AreEqual(string.Empty, booleanExternalVarEvaluation, "An unexpected default value for external boolean variable evaluation was found.");
        }
        public ExternalVariableEditor CreateExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
        {
            switch (externalVariable.datatype)
            {
                case SimpleDatatypeEnumeration.@string:
                    return new StringExternalVariableEditor(externalVariable);

                case SimpleDatatypeEnumeration.@int:
                    return new IntExternalVariableEditor(externalVariable);

                case SimpleDatatypeEnumeration.boolean:
                    return new BooleanExternalVariableEditor(externalVariable);

                case SimpleDatatypeEnumeration.binary:
                    return new BinaryExternalVariableEditor(externalVariable);

                default:
                    throw new NotImplementedException();
            }
        }
Ejemplo n.º 3
0
 public ExternalVariableEditor(VariablesTypeVariableExternal_variable variable)
 {
     this.externalVariable = variable;
 }
 private OVAL.Variables.VariableType CreateVariableType(VariablesTypeVariableExternal_variable declaredExternalVariable)
 {
     var fakeVariableValue = declaredExternalVariable.id.Replace("oval:gov.nist.fdcc.xpfirewall:var:", string.Empty);
     return new OVAL.Variables.VariableType
     {
         id = declaredExternalVariable.id,
         comment = declaredExternalVariable.comment,
         datatype = declaredExternalVariable.datatype,
         value = new string[] { fakeVariableValue }.ToList()
     };
 }
 public BinaryExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
     : base(externalVariable) { }
 public BooleanExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
     : base(externalVariable) { }
 public StringExternalVariableEditor(VariablesTypeVariableExternal_variable externalVariable)
     : base(externalVariable) { }