コード例 #1
0
        //---------------------------------------------------------------------

        private BaseHarvest.IParameters ParseFile(string filename)
        {
            try {
                reader = OpenFile(filename);
                return parser.Parse(reader);
            }
            finally {
                reader.Close();
            }
        }
        public void Init()
        {
            parser = new ParametersParser();

            Species.DatasetParser speciesParser = new Species.DatasetParser();
            reader = OpenFile("Species.txt");
            try {
                ParametersParser.SpeciesDataset = speciesParser.Parse(reader);
            }
            finally {
                reader.Close();
            }
        }
コード例 #3
0
		public void Init()
		{
			parser = new ParameterParser();

			Ecoregions.DatasetParser ecoregionsParser = new Ecoregions.DatasetParser();
			reader = OpenFile("Ecoregions.txt");
			try {
				ParameterParser.EcoregionsDataset = ecoregionsParser.Parse(reader);
			}
			finally {
				reader.Close();
			}
		}
コード例 #4
0
        public void Init()
        {
            Species.DatasetParser speciesParser = new Species.DatasetParser();
            reader = OpenFile("Species.txt");
            try {
                speciesDataset = speciesParser.Parse(reader);
            }
            finally {
                reader.Close();
            }

            parser = new ParametersParser(speciesDataset,
                                          startTime,
                                          endTime);
        }
コード例 #5
0
		//---------------------------------------------------------------------

		private void TryParse(string filename,
		                      int    errorLineNum)
		{
			try {
				reader = OpenFile(filename);
				IScenario scenario = parser.Parse(reader);
			}
			catch (System.Exception e) {
				Data.Output.WriteLine(e.Message.Replace(Data.Directory, dataDirPlaceholder));
				LineReaderException lrExc = e as LineReaderException;
				if (lrExc != null)
					Assert.AreEqual(errorLineNum, lrExc.LineNumber);
				Data.Output.WriteLine();
				throw;
			}
			finally {
				reader.Close();
			}
		}
コード例 #6
0
        //---------------------------------------------------------------------

        private void TryParse(string filename)
        {
            int? errorLineNum = Testing.FindErrorMarker(Data.MakeInputPath(filename));
            try {
                reader = OpenFile(filename);
                ExtensionInfo extension = parser.Parse(reader);
            }
            catch (System.Exception e) {
                Data.Output.WriteLine();
                Data.Output.WriteLine(e.Message.Replace(Data.Directory, Data.DirPlaceholder));
                LineReaderException lrExc = e as LineReaderException;
                if (lrExc != null && errorLineNum.HasValue)
                    Assert.AreEqual(errorLineNum.Value, lrExc.LineNumber);
                throw;
            }
            finally {
                reader.Close();
            }
        }
コード例 #7
0
		//---------------------------------------------------------------------

		private IScenario ParseFile(string filename)
		{
			reader = OpenFile(filename);
			IScenario scenario = parser.Parse(reader);
			reader.Close();
			return scenario;
		}
コード例 #8
0
 //---------------------------------------------------------------------
 private IParameters ParseFile(string filename)
 {
     reader = OpenFile(filename);
     IParameters parameters = parser.Parse(reader);
     reader.Close();
     return parameters;
 }
コード例 #9
0
 //---------------------------------------------------------------------
 private void TryParse(string filename,
     int    errorLineNum)
 {
     try {
         reader = OpenFile(filename);
         // This method is only called on bad files, so we expect the
         // statement below to throw an exception.  Since we knowingly
         // ignore the variable "landUses", disable the CS0219 warning
         // "The variable '...' is assigned but its value is never used'.
     #pragma warning disable 0219
         IList<LandUse> landUses = parser.Parse(reader);
     #pragma warning restore 0219
     }
     catch (System.Exception e) {
         Data.Output.WriteLine(e.Message.Replace(Data.Directory, Data.DirPlaceholder));
         LineReaderException lrExc = e as LineReaderException;
         if (lrExc != null)
             Assert.AreEqual(errorLineNum, lrExc.LineNumber);
         Data.Output.WriteLine();
         throw;
     }
     finally {
         reader.Close();
     }
 }
コード例 #10
0
 //---------------------------------------------------------------------
 private IList<LandUse> ParseFile(string filename)
 {
     reader = OpenFile(filename);
     IList<LandUse> landUses = parser.Parse(reader);
     reader.Close();
     return landUses;
 }
コード例 #11
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();
            }
        }
コード例 #12
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();
            }
        }
コード例 #13
0
        //---------------------------------------------------------------------

        private ExtensionInfo ParseFile(string filename)
        {
        	try {
	            reader = OpenFile(filename);
	            return parser.Parse(reader);
        	}
        	finally {
	            reader.Close();
        	}
        }