コード例 #1
0
        public void DontStandardiseDisabledSoils()
        {
            Soil soil = CreateSimpleSoil();

            Utilities.InitialiseModel(soil);
            Physical phys = soil.FindChild <Physical>();

            // Remove a layer from BD - this will cause standardisation to fail.
            phys.BD = new double[phys.BD.Length - 1];

            // Now disable the soil so it doesn't get standardised.
            soil.Enabled = false;

            // Chuck the soil in a simulation.
            Simulations sims    = Utilities.GetRunnableSim();
            Zone        paddock = sims.FindDescendant <Zone>();

            paddock.Children.Add(soil);
            soil.Parent = paddock;

            // Run the simulation - this shouldn't fail, because the soil is disabled.
            var runner = new Models.Core.Run.Runner(sims);
            List <Exception> errors = runner.Run();

            Assert.AreEqual(0, errors.Count, "There should be no errors - the faulty soil is disabled");
        }
コード例 #2
0
ファイル: SimulationResetTests.cs プロジェクト: lie112/ApsimX
        private static Simulation CreateSimulation(string path)
        {
            path = PathUtilities.GetAbsolutePath(path, null);
            Simulations sims = FileFormat.ReadFromFile <Simulations>(path, e => throw e, false);

            foreach (Soil soil in sims.FindAllDescendants <Soil>())
            {
                SoilStandardiser.Standardise(soil);
            }
            DataStore storage = sims.FindDescendant <DataStore>();

            storage.UseInMemoryDB = true;
            Clock clock = sims.FindDescendant <Clock>();

            clock.EndDate = clock.StartDate.AddYears(1);
            return(sims.FindDescendant <Simulation>());
        }
コード例 #3
0
ファイル: StructureTests.cs プロジェクト: lie112/ApsimX
        public void AddNodeWithMissingLink()
        {
            Simulations sims = Utilities.GetRunnableSim();
            Zone        sim  = sims.FindDescendant <Zone>();

            Structure.Add(new Model0(), sim);
            Runner           runner = new Runner(sims);
            List <Exception> errors = runner.Run();

            Assert.AreEqual(1, errors.Count);
        }