public void Init()
        {
            core         = new SimpleCore();
            core.Species = CreateSpeciesDataset();

            List <Ecoregions.IParameters> ecoregionParms = new List <Ecoregions.IParameters>();

            ecoregionParms.Add(new Ecoregions.Parameters("Ecoregion A", // Name
                                                         "ecoregion A", // Description
                                                         1,             // Map Code,
                                                         true));        // Is Active?
            ecoregionParms.Add(new Ecoregions.Parameters("Ecoregion D", // Name
                                                         "ecoregion D", // Description
                                                         2,             // Map Code,
                                                         true));        // Is Active?
            core.Ecoregions = new Ecoregions.Dataset(ecoregionParms);

            int A = core.Ecoregions[0].MapCode;
            int D = core.Ecoregions[1].MapCode;
            int i = -1;   // inactive ecoregion
            DataGrid <EcoregionCode> ecoregionGrid = new DataGrid <EcoregionCode>(
                Data.MakeEcoregionCodes(new int[, ] {
                //1 2
                { A, A },    // 1
                { A, A },    // 2

                { A, A },    // 3
                { A, D },    // 4

                { i, D },    // 5
                { D, i }     // 6
            }));

            landscape      = new Landscape(ecoregionGrid, blockSize);
            core.Landscape = landscape;

            core.Ecoregion = landscape.NewSiteVar <IEcoregion>();
            foreach (ActiveSite activeSite in landscape)
            {
                ushort mapCode = (ushort)(ecoregionGrid[activeSite.Location]);
                core.Ecoregion[activeSite] = core.Ecoregions.Find(mapCode);
            }

            //  Reproduction.Initialize method accesses the succession
            //  plug-in's via the age-cohort interfaces.  So to avoid an
            //  exception, we just create an empty landscape cohorts object.
            core.SuccessionCohorts = new AgeCohort.LandscapeCohorts(null);

            MockSuccession mockSuccessionPlugIn = new MockSuccession(core);

            expectedSpecies      = new List <ISpecies>(core.Species.Count);
            speciesThatReproduce = new List <ISpecies>(core.Species.Count);

            actualSpecies_SeedingAlg   = new List <ISpecies>(core.Species.Count);
            actualSpecies_AddNewCohort = new List <ISpecies>(core.Species.Count);
        }
        public void Init()
        {
            core = new SimpleCore();
            core.Species = CreateSpeciesDataset();

            List<Ecoregions.IParameters> ecoregionParms = new List<Ecoregions.IParameters>();
            ecoregionParms.Add(new Ecoregions.Parameters("Ecoregion A", // Name
                                                         "ecoregion A", // Description
                                                         1,             // Map Code,
                                                         true));        // Is Active?
            ecoregionParms.Add(new Ecoregions.Parameters("Ecoregion D", // Name
                                                         "ecoregion D", // Description
                                                         2,             // Map Code,
                                                         true));        // Is Active?
            core.Ecoregions = new Ecoregions.Dataset(ecoregionParms);

            int A =  core.Ecoregions[0].MapCode;
            int D =  core.Ecoregions[1].MapCode;
            int i = -1;   // inactive ecoregion
            DataGrid<EcoregionCode> ecoregionGrid = new DataGrid<EcoregionCode>(
                Data.MakeEcoregionCodes(new int[,]{
                    //1 2
                    { A,A }, // 1
                    { A,A }, // 2

                    { A,A }, // 3
                    { A,D }, // 4

                    { i,D }, // 5
                    { D,i }  // 6
                }));

            landscape = new Landscape(ecoregionGrid, blockSize);
            core.Landscape = landscape;

            core.Ecoregion = landscape.NewSiteVar<IEcoregion>();
            foreach (ActiveSite activeSite in landscape) {
                ushort mapCode = (ushort) (ecoregionGrid[activeSite.Location]);
                core.Ecoregion[activeSite] = core.Ecoregions.Find(mapCode);
            }

            //  Reproduction.Initialize method accesses the succession
            //  plug-in's via the age-cohort interfaces.  So to avoid an
            //  exception, we just create an empty landscape cohorts object.
            core.SuccessionCohorts = new AgeCohort.LandscapeCohorts(null);

            MockSuccession mockSuccessionPlugIn = new MockSuccession(core);

            expectedSpecies = new List<ISpecies>(core.Species.Count);
            speciesThatReproduce = new List<ISpecies>(core.Species.Count);

            actualSpecies_SeedingAlg = new List<ISpecies>(core.Species.Count);
            actualSpecies_AddNewCohort = new List<ISpecies>(core.Species.Count);
        }