public void SavesTree() { var importedTrip = new ImportedTripStub { Date = DateTime.Now.AddDays(1) }; var importedSite = new ImportedSiteStub(importedTrip); var tree = Tree.Create(new ImportedTreeStub(importedSite) { CommonName = "CommonName", ScientificName = "ScientificName", Height = 1, HeightMeasurementMethod = TMD.Model.Imports.TreeHeightMeasurementMethod.ClinometerLaserRangefinderSine, Girth = 2, CrownSpread = 3, Coordinates = Coordinates.Create(4, 5), Elevation = Elevation.Create(6), GeneralComments = "GeneralComments" }); tree.Measurements[0].SetPrivatePropertyValue("ImportingTrip", null); using (var uow = UnitOfWork.Begin()) { Repositories.Trees.Save(tree); UnitOfWork.Flush(); UnitOfWork.Refresh(tree); Assert.IsNotNull(tree); Assert.IsNotNull(tree.Measurements); Assert.AreEqual(1, tree.Measurements.Count); Assert.IsNotNull(tree.Species); uow.Rollback(); } }
public void CreatesTree() { var importedTrip = new ImportedTripStub { Date = DateTime.Now }; var importedSite = new ImportedSiteStub(importedTrip); var importedTree = new ImportedTreeStub(importedSite) { CommonName = "CommonName", ScientificName = "ScientificName", Height = 1, HeightMeasurementMethod = TMD.Model.Imports.TreeHeightMeasurementMethod.ClinometerLaserRangefinderSine, Girth = 2, CrownSpread = 3, Coordinates = Coordinates.Create(4, 5), Elevation = Elevation.Create(6), GeneralComments = "GeneralComments" }; var tree = Tree.Create(importedTree); Assert.AreEqual(1, tree.Measurements.Count); Assert.AreEqual("Commonname", tree.CommonName); Assert.AreEqual("Scientificname", tree.ScientificName); Assert.AreEqual(1, tree.Height); Assert.AreEqual(TMD.Model.Imports.TreeHeightMeasurementMethod.ClinometerLaserRangefinderSine, tree.HeightMeasurementMethod); Assert.AreEqual(2, tree.Girth); Assert.AreEqual(3, tree.CrownSpread); Assert.AreEqual(Coordinates.Create(4, 5), tree.Coordinates); Assert.AreEqual(Elevation.Create(6), tree.Elevation); Assert.AreEqual(2f, tree.ENTSPTS); Assert.AreEqual(0.04f, tree.ENTSPTS2); Assert.AreEqual("GeneralComments", tree.Measurements[0].GeneralComments); }
public void MergresTrees() { var importedTrip1 = new ImportedTripStub { Date = DateTime.Now.AddDays(1) }; var importedSite1 = new ImportedSiteStub(importedTrip1); var tree1 = Tree.Create(new ImportedTreeStub(importedSite1) { CommonName = "CommonName", ScientificName = "ScientificName", Height = 1, HeightMeasurementMethod = TMD.Model.Imports.TreeHeightMeasurementMethod.ClinometerLaserRangefinderSine, Girth = 2, CrownSpread = 3, Coordinates = Coordinates.Create(4, 5), Elevation = Elevation.Create(6) }); var importedTrip2 = new ImportedTripStub { Date = DateTime.Now }; var importedSite2 = new ImportedSiteStub(importedTrip2); var tree2 = Tree.Create(new ImportedTreeStub(importedSite2) { CommonName = "CommonName", ScientificName = "ScientificName", Height = 10, HeightMeasurementMethod = TMD.Model.Imports.TreeHeightMeasurementMethod.FormalTransitTotalStationSurvey, Girth = 20, CrownSpread = 30, Coordinates = Coordinates.Create(4, 5), Elevation = Elevation.Create(60) }); Assert.IsTrue(tree1.ShouldMerge(tree2)); tree2.Merge(tree1); Assert.AreEqual(2, tree2.Measurements.Count); Assert.AreEqual(1, tree2.Height); Assert.AreEqual(TMD.Model.Imports.TreeHeightMeasurementMethod.ClinometerLaserRangefinderSine, tree2.HeightMeasurementMethod); Assert.AreEqual(2, tree2.Girth); Assert.AreEqual(3, tree2.CrownSpread); Assert.AreEqual(Elevation.Create(6), tree2.Elevation); Assert.AreEqual(2f, tree2.ENTSPTS); Assert.AreEqual(0.04f, tree2.ENTSPTS2); }
public void PersistsTrees() { Trip trip = Trip.Create(); trip.MeasurerContactInfo = "measurer contact info"; trip.Name = "name"; trip.PhotosAvailable = true; trip.Website = "website"; trip.Date = DateTime.Now; trip.Measurers.Add(Name.Create("tree measurer 1 first name", "tree measurer 1 last name")); trip.Measurers.Add(Name.Create("tree measurer 2 first name", "tree measurer 2 last name")); Site site1 = trip.AddSite(); site1.Name = "site 1 name"; site1.Comments = "site 1 comments"; site1.County = "site 1 county"; site1.OwnershipContactInfo = "site 1 ownership contact info"; site1.OwnershipType = "site 1 ownership type"; site1.State = Repositories.Locations.FindStateByCountryAndStateCode("US", "OH"); Site site2 = trip.AddSite(); site2.Name = "site 2 name"; site2.Comments = "site 2 comments"; site2.Name = "site 2 name"; site2.OwnershipContactInfo = "site 2 ownership contact info"; site2.OwnershipType = "site 2 ownership type"; site2.State = Repositories.Locations.FindStateByCountryAndStateCode("US", "OH"); TreeBase tree1 = site2.AddSingleTrunkTree(); tree1.Age = 10; tree1.AgeClass = TreeAgeClass.VeryOld; tree1.AgeType = TreeAgeType.RingCount; tree1.CrownSpread = Distance.Create(10); tree1.BaseCrownHeight = Distance.Create(20); tree1.ClinometerBrand = "tree measurement 1 clinometer brand"; tree1.CommonName = "tree measurement 1 common name"; tree1.Coordinates = Coordinates.Create(10, 20); tree1.CrownComments = "tree measurement 1 crown comments"; tree1.CrownSpreadMeasurementMethod = "tree measurement 1 crown spread measurement method"; tree1.CrownVolume = Volume.Create(10); tree1.CrownVolumeCalculationMethod = "tree measurement 1 crown volume calculation method"; tree1.Elevation = Elevation.Create(10); tree1.FormType = TreeFormType.Vine; tree1.GeneralComments = "tree measurement 1 general comments"; tree1.Girth = Distance.Create(30); tree1.GirthComments = "tree measurement 1 girth comments"; tree1.GirthMeasurementHeight = Distance.Create(40); tree1.GirthRootCollarHeight = Distance.Create(50); tree1.HealthStatus = "tree measurement 1 health status"; tree1.Height = Distance.Create(60); tree1.HeightComments = "tree measurement 1 height comments"; tree1.HeightMeasurements = HeightMeasurements.Create( Distance.Create(70), Angle.Create(10), Distance.Create(80), Angle.Create(20), DirectedDistance.Create(10)); tree1.HeightMeasurementType = "tree measurement 1 height measurement type"; tree1.LandformIndex = .10f; tree1.LaserBrand = "tree measurement 1 laser brand"; tree1.CrownSpread = Distance.Create(90); tree1.MaximumLimbLength = Distance.Create(100); tree1.NumberOfTrunks = 10; tree1.ScientificName = "tree measurement 1 scientific name"; tree1.Status = TreeStatus.ExoticPlanted; tree1.TerrainComments = "tree measurement 1 terrain comments"; tree1.TerrainShapeIndex = .10f; tree1.TerrainType = TreeTerrainType.HillTop; tree1.TreeFormComments = "tree measurement 1 tree form comments"; tree1.TrunkComments = "tree measurement 1 trunk comments"; tree1.TrunkVolume = Volume.Create(20); tree1.TrunkVolumeCalculationMethod = "tree measurement 1 trunk volume calculation method"; MultiTrunkTree tree2 = site2.AddMultiTrunkTree(); tree2.NumberOfTrunks = 10; tree2.FormType = TreeFormType.Multi; Trunk trunk1 = tree2.AddTrunkMeasurement(); trunk1.Girth = Distance.Create(10); trunk1.GirthMeasurementHeight = Distance.Create(20); trunk1.Height = Distance.Create(30); trunk1.HeightMeasurements = HeightMeasurements.Create( Distance.Create(40), Angle.Create(50), Distance.Create(60), Angle.Create(70), DirectedDistance.Create(80)); Trunk trunk2 = tree2.AddTrunkMeasurement(); trunk2.Girth = Distance.Create(10); trunk2.GirthMeasurementHeight = Distance.Create(20); trunk2.Height = Distance.Create(30); trunk2.HeightMeasurements = HeightMeasurements.Create( Distance.Create(40), Angle.Create(50), Distance.Create(60), Angle.Create(70), DirectedDistance.Create(80)); tree2.Age = 10; tree2.AgeClass = TreeAgeClass.VeryOld; tree2.AgeType = TreeAgeType.RingCount; tree2.CrownSpread = Distance.Create(10); tree2.BaseCrownHeight = Distance.Create(20); tree2.ClinometerBrand = "tree measurement 2 clinometer brand"; tree2.CommonName = "tree measurement 2 common name"; tree2.Coordinates = Coordinates.Create(30, 40); tree2.CrownComments = "tree measurement 2 crown comments"; tree2.CrownSpreadMeasurementMethod = "tree measurement 2 crown spread measurement method"; tree2.CrownVolume = Volume.Create(10); tree2.CrownVolumeCalculationMethod = "tree measurement 2 crown volume calculation method"; tree2.Elevation = Elevation.Create(10); tree2.GeneralComments = "tree measurement 2 general comments"; tree2.Girth = Distance.Create(30); tree2.GirthComments = "tree measurement 2 girth comments"; tree2.GirthMeasurementHeight = Distance.Create(40); tree2.GirthRootCollarHeight = Distance.Create(50); tree2.HealthStatus = "tree measurement 2 health status"; tree2.Height = Distance.Create(60); tree2.HeightComments = "tree measurement 2 height comments"; tree2.HeightMeasurements = HeightMeasurements.Create( Distance.Create(70), Angle.Create(10), Distance.Create(80), Angle.Create(20), DirectedDistance.Create(10)); tree2.HeightMeasurementType = "tree measurement 2 height measurement type"; tree2.LandformIndex = .10f; tree2.LaserBrand = "tree measurement 2 laser brand"; tree2.CrownSpread = Distance.Create(90); tree2.MaximumLimbLength = Distance.Create(100); tree2.ScientificName = "tree measurement 2 scientific name"; tree2.Status = TreeStatus.ExoticPlanted; tree2.TerrainComments = "tree measurement 2 terrain comments"; tree2.TerrainShapeIndex = .10f; tree2.TerrainType = TreeTerrainType.HillTop; tree2.TreeFormComments = "tree measurement 2 tree form comments"; tree2.TrunkComments = "tree measurement 2 trunk comments"; tree2.TrunkVolume = Volume.Create(20); tree2.TrunkVolumeCalculationMethod = "tree measurement 1 trunk volume calculation method"; using (var uow = UnitOfWork.Begin()) { Repositories.Imports.Save(trip); uow.Persist(); } UnitOfWork.Dispose(); using (var uow = UnitOfWork.Begin()) { Trip found = Repositories.Imports.FindById(trip.Id); Assert.IsNotNull(found); Assert.IsTrue(found.Sites.Count == 2); Assert.IsTrue(found.Sites[1].Trees.Count == 2); Repositories.Imports.Remove(found); uow.Persist(); } }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { string value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue; return(Elevation.Create(value)); }