public void GenerateWeatherFile50Years() { // name of old style validation xml file. // NB: This is a real YP validation XML file from 2004. string fileName = Path.Combine(filesDirectory, "TestValidation.xml"); // Create a YieldProphet object from our YP xml file YieldProphet spec = YieldProphetUtility.YieldProphetFromFile(fileName); // Read in the rainfall data Utility.ApsimTextFile observedDataFile = new Utility.ApsimTextFile(); observedDataFile.Open(Path.Combine(filesDirectory, "TestValidation.rain")); DataTable observedData = observedDataFile.ToTable(); observedDataFile.Close(); // Write the weather file. string rainFileName = Path.Combine(workingDirectory, spec.Paddock[0].Name) + ".met"; WeatherFile weatherFiles = new WeatherFile(); weatherFiles.CreateLongTerm(rainFileName, spec.Paddock[0].StationNumber, spec.Paddock[0].StartSeasonDate, spec.Paddock[0].StartSeasonDate.AddDays(300), new DateTime(2004, 6, 1), observedData, 50); Assert.AreEqual(weatherFiles.FilesCreated.Length, 50); Assert.AreEqual(Path.GetFileName(weatherFiles.FilesCreated[0]), "2004;A and R Weidemann;Wep 11954.met"); Utility.ApsimTextFile weatherFile = new Utility.ApsimTextFile(); weatherFile.Open(Path.Combine(workingDirectory, weatherFiles.FilesCreated[0])); DataTable weatherData = weatherFile.ToTable(); weatherFile.Close(); Assert.AreEqual(weatherData.Rows.Count, 301); Assert.AreEqual(weatherData.Rows[0]["codes"], "SSSO"); Assert.AreEqual(weatherData.Rows[61]["codes"], "SSSO"); Assert.AreEqual(weatherData.Rows[62]["codes"], "HHHH"); }