public void GivenCreatedEntity_WhenCreateCalledOnSameObject_ThenSameEntityInstanceReturned() { // Given MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(); var registry = new PersistenceRegistry(); StochasticSoilModelEntity firstEntity = stochasticSoilModel.Create(registry, 0); // When StochasticSoilModelEntity secondEntity = stochasticSoilModel.Create(registry, 0); // Then Assert.AreSame(firstEntity, secondEntity); }
public void Create_WithStochasticSoilProfiles_ReturnsStochasticSoilModelEntityWithPropertiesSet() { // Setup var stochasticSoilProfiles = new[] { new MacroStabilityInwardsStochasticSoilProfile(0.1, MacroStabilityInwardsSoilProfile1DTestFactory.CreateMacroStabilityInwardsSoilProfile1D()), new MacroStabilityInwardsStochasticSoilProfile(0.9, MacroStabilityInwardsSoilProfile2DTestFactory.CreateMacroStabilityInwardsSoilProfile2D()) }; MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel("Model", stochasticSoilProfiles); var registry = new PersistenceRegistry(); // Call StochasticSoilModelEntity entity = stochasticSoilModel.Create(registry, 0); // Assert Assert.IsNotNull(entity); CollectionAssert.IsEmpty(entity.PipingStochasticSoilProfileEntities); Assert.AreEqual(stochasticSoilProfiles.Length, entity.MacroStabilityInwardsStochasticSoilProfileEntities.Count); MacroStabilityInwardsStochasticSoilProfile firstStochasticSoilProfile = stochasticSoilProfiles[0]; MacroStabilityInwardsStochasticSoilProfileEntity firstStochasticSoilProfileEntity = entity.MacroStabilityInwardsStochasticSoilProfileEntities.First(); Assert.AreEqual(firstStochasticSoilProfile.Probability, firstStochasticSoilProfileEntity.Probability); Assert.IsNotNull(firstStochasticSoilProfileEntity.MacroStabilityInwardsSoilProfileOneDEntity); Assert.IsNull(firstStochasticSoilProfileEntity.MacroStabilityInwardsSoilProfileTwoDEntity); MacroStabilityInwardsStochasticSoilProfile secondStochasticSoilProfile = stochasticSoilProfiles[1]; MacroStabilityInwardsStochasticSoilProfileEntity secondStochasticSoilProfileEntity = entity.MacroStabilityInwardsStochasticSoilProfileEntities.ElementAt(1); Assert.AreEqual(secondStochasticSoilProfile.Probability, secondStochasticSoilProfileEntity.Probability); Assert.IsNull(secondStochasticSoilProfileEntity.MacroStabilityInwardsSoilProfileOneDEntity); Assert.IsNotNull(secondStochasticSoilProfileEntity.MacroStabilityInwardsSoilProfileTwoDEntity); }
public void Create_PersistenceRegistryNull_ThrowsArgumentNullException() { // Setup MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(); // Call TestDelegate test = () => stochasticSoilModel.Create(null, 0); // Assert string parameterName = Assert.Throws <ArgumentNullException>(test).ParamName; Assert.AreEqual("registry", parameterName); }
public void Create_StringPropertiesDoNotShareReference() { // Setup const string name = "testName"; MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(name); var registry = new PersistenceRegistry(); // Call StochasticSoilModelEntity entity = stochasticSoilModel.Create(registry, 0); // Assert TestHelper.AssertAreEqualButNotSame(name, entity.Name); }
public void Create_WithValidProperties_ReturnsStochasticSoilModelEntityWithPropertiesSet() { // Setup var random = new Random(1); int order = random.Next(); MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(nameof(MacroStabilityInwardsStochasticSoilModel)); var registry = new PersistenceRegistry(); // Call StochasticSoilModelEntity entity = stochasticSoilModel.Create(registry, order); // Assert Assert.IsNotNull(entity); Assert.AreEqual(stochasticSoilModel.Name, entity.Name); Assert.AreEqual(order, entity.Order); CollectionAssert.IsEmpty(entity.PipingStochasticSoilProfileEntities); }
public void Create_WithGeometryPoints_ReturnsStochasticSoilModelEntityWithPropertiesSet() { // Setup var random = new Random(31); MacroStabilityInwardsStochasticSoilModel stochasticSoilModel = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel("testName", new[] { new Point2D(random.NextDouble(), random.NextDouble()), new Point2D(random.NextDouble(), random.NextDouble()) }); var registry = new PersistenceRegistry(); // Call StochasticSoilModelEntity entity = stochasticSoilModel.Create(registry, 0); // Assert Assert.IsNotNull(entity); string expectedXml = new Point2DCollectionXmlSerializer().ToXml(stochasticSoilModel.Geometry); Assert.AreEqual(expectedXml, entity.StochasticSoilModelSegmentPointXml); }