Beispiel #1
0
        public void Write_SimpleScenario_WritesAllValues()
        {
            // Arrange
            var i = new Injector();
            var s = i.GetSimpleScenario();

            Directory.CreateDirectory(scenDirPath);

            var field        = new ScenarioFile();
            var dairy        = new ScenarioFile();
            var scenDefaults = new ScenarioDefaults();
            var grabber      = new WeatherGrabber(@"Assets\Database\Weather");

            var sut = new ScenarioWriter(dairy, field, scenDefaults, grabber);

            // Act
            sut.Write(s, scenDirPath);

            // Assert
            bool filesMatch = checkFilesMatch(
                Path.Combine(scenDirPath, ".NIFA_dairy_scenario").ToString(),
                @"Assets\simpleScenario.NIFA_dairy_scenario");

            Assert.IsTrue(filesMatch);
        }
Beispiel #2
0
        public MainWindow ResolveMainWindow(string[] args)
        {
            MainWindow       client        = new MainWindow();
            ScenarioFile     dairyScenario = new ScenarioFile();
            ScenarioFile     fieldScenario = new ScenarioFile();
            ScenarioDefaults defaults      = new ScenarioDefaults();
            //string pathToWeatherDatabase = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Assets", "Database", "Weather");
            string pathToWeatherDatabase = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "DairyCropSyst", "Database", "Weather");

            WeatherGrabber grabber = new WeatherGrabber(pathToWeatherDatabase);
            ScenarioReader reader  =
                new ScenarioReader(dairyScenario, fieldScenario);
            ScenarioWriter writer =
                new ScenarioWriter(dairyScenario, fieldScenario, defaults, grabber);
            ScenarioViewModel context = new ScenarioViewModel(reader, writer);

            client.DataContext = context;

            if (args.Length == 1)
            {
                tryOpenFile(args[0], context);
            }

            return(client);
        }
        public void ReadComplexEditWriteSimple()
        {
            // Arrange
            ScenarioFile     dairy       = new ScenarioFile();
            ScenarioFile     field       = new ScenarioFile();
            ScenarioDefaults d           = new ScenarioDefaults();
            WeatherGrabber   g           = new WeatherGrabber(@"Assets\Database\Weather");
            string           readPath    = @"Assets\complexScenario.NIFA_dairy_scenario";
            string           writePath   = @"Assets\IntegrationTest";
            string           comparePath = @"Assets\simpleScenario.NIFA_dairy_scenario";
            ScenarioReader   r           = new ScenarioReader(dairy, field);
            ScenarioWriter   w           = new ScenarioWriter(dairy, field, d, g);

            Directory.CreateDirectory(writePath);

            // Act
            r.Load(readPath);
            Scenario scenario = r.Parse();

            scenario.Description = "";

            scenario.Cow.BodyMass_kg                    = 635;
            scenario.Cow.DryMatterIntake_kg_d           = 24;
            scenario.Cow.MilkProduction_kg_d            = 34;
            scenario.Cow.CrudeProteinDiet_percent       = 17.6;
            scenario.Cow.StarchDiet_percent             = 12.83;
            scenario.Cow.AcidDetergentFiberDiet_percent = 26.08;

            scenario.Barn.ManureAlleyArea_m2 = 3000;
            scenario.Barn.NumberCows_cnt     = 1000;

            scenario.Lagoon.SurfaceArea_m2 = 142250;
            scenario.Lagoon.VolumeMax_m3   = 519213;

            scenario.Fertigation.Enabled           = false;
            scenario.Field.Id                      = "field";
            scenario.AnaerobicDigester.Enabled     = false;
            scenario.FineSeparator.Enabled         = false;
            scenario.NutrientRecovery.Enabled      = false;
            scenario.ReceiveOffFarmBiomass.Enabled = false;

            w.Write(scenario, writePath);

            // Assert
            Assert.IsTrue(
                checkFilesMatch(
                    comparePath, Path.Combine(writePath, ".NIFA_dairy_scenario")));
        }
Beispiel #4
0
        public void SetupDir_EmptyValidPath_CreatesDirs()
        {
            // Arrange
            var field        = new ScenarioFileStub();
            var dairy        = new ScenarioFileStub();
            var grabber      = new WeatherGrabber(@"Assets\Database\Weather");
            var scenDefaults = new ScenarioDefaults();

            Directory.CreateDirectory(scenDirPath);

            var sut = new ScenarioWriter(field, dairy, scenDefaults, grabber);

            // Act
            sut.SetupDir(scenDirPath);

            // Assert
            var outputExists = Directory.Exists(Path.Combine(scenDirPath, "Output"));
            var fieldsExists = Directory.Exists(Path.Combine(scenDirPath, "Fields"));

            Assert.IsTrue(outputExists);
            Assert.IsTrue(fieldsExists);
        }