コード例 #1
0
        //---------------------------------------------------------------------
        private void ReadAndCheckParameters(string filename)
        {
            IParameters parameters;
            try {
                reader = OpenFile(filename);
                parameters = parser.Parse(reader);
            }
            finally {
                reader.Close();
            }

            try {
                //  Now that we know the data file is properly formatted, read
                //  data from it and compare it against parameter object.
                reader = OpenFile(filename);
                InputLine = new InputLine(reader);

                Assert.AreEqual(parser.LandisDataValue, ReadInputVar<string>("LandisData"));

                CheckBiomassParameters(parameters, null);
                //  Note: The null parameter above indicates that no parameter
                //  or table are expected after the biomass parameters.
            }
            finally {
                InputLine = null;
                reader.Close();
            }
        }
コード例 #2
0
 //---------------------------------------------------------------------
 private void TryReadVar(InputLine     line,
     InputVariable var)
 {
     try {
         line.ReadVar(var);
     }
     catch (System.Exception e) {
         Data.Output.WriteLine(e.Message);
         throw;
     }
 }
コード例 #3
0
        //---------------------------------------------------------------------
        private void ReadAndCheckParameters(string filename)
        {
            IParameters parameters;
            try {
                reader = Data.OpenFile(filename);
                parameters = parser.Parse(reader);
            }
            finally {
                reader.Close();
            }

            try {
                //  Now that we know the data file is properly formatted, read
                //  data from it and compare it against parameter object.
                reader = Data.OpenFile(filename);
                InputLine = new InputLine(reader);

                Assert.AreEqual(parser.LandisDataValue, ReadInputVar<string>("LandisData"));

                Assert.AreEqual(ReadInputVar<int>(ParametersParser.Names.Timestep), parameters.Timestep);
                Assert.AreEqual(ReadInputVar<SeedingAlgorithms>(ParametersParser.Names.SeedingAlgorithm),
                                parameters.SeedAlgorithm);

                CheckBiomassParameters(parameters, ParametersParser.Names.AgeOnlyDisturbanceParms,
                                                   ParametersParser.Names.ClimateChange);

                if (parameters.AgeOnlyDisturbanceParms != null)
                    Assert.AreEqual(ReadInputVar<string>(ParametersParser.Names.AgeOnlyDisturbanceParms),
                                    parameters.AgeOnlyDisturbanceParms);

                if (InputLine.VariableName == ParametersParser.Names.ClimateChange) {
                    InputLine.GetNext();  // Skip table name
                    foreach (ParametersUpdate parameterUpdate in parameters.ClimateChangeUpdates) {
                        StringReader currentLine = new StringReader(InputLine.ToString());
                        Assert.AreEqual(InputValidation.ParseYear(ReadInputValue<string>(currentLine)),
                                        parameterUpdate.Year);
                        Assert.AreEqual(ReadInputValue<string>(currentLine),
                                        parameterUpdate.File);
                        InputLine.GetNext();
                    }
                }
            }
            finally {
                InputLine = null;
                reader.Close();
            }
        }
コード例 #4
0
 //---------------------------------------------------------------------
 private void TryMatchOptName(InputLine line,
     string    name)
 {
     try {
         line.MatchOptionalName(name);
     }
     catch (System.Exception e) {
         Data.Output.WriteLine(e.Message);
         throw;
     }
 }
コード例 #5
0
 //---------------------------------------------------------------------
 private void AssertNoMoreLines(InputLine line)
 {
     Assert.IsFalse(line.GetNext());
     AssertLineAtEnd(line);
 }
コード例 #6
0
 //---------------------------------------------------------------------
 private void AssertLineHasValue(InputLine line,
     int       lineNumber,
     string    varName)
 {
     Assert.IsTrue(line);
     Assert.AreEqual(lineNumber, line.Number);
     Assert.AreEqual(varName, line.VariableName);
 }
コード例 #7
0
 //---------------------------------------------------------------------
 private void AssertLineAtEnd(InputLine line)
 {
     Assert.IsFalse(line);
     Assert.AreEqual(LineReader.EndOfInput, line.Number);
     Assert.IsNull(line.VariableName);
 }
コード例 #8
0
 public void NullArgForCtor()
 {
     InputLine line = new InputLine(null);
 }