public void GivenCreatedEntity_WhenCreateCalledOnSameObject_ThenSameEntityReturned() { // Given MacroStabilityInwardsSoilProfile1D soilProfile = MacroStabilityInwardsSoilProfile1DTestFactory.CreateMacroStabilityInwardsSoilProfile1D(); var registry = new PersistenceRegistry(); MacroStabilityInwardsSoilProfileOneDEntity firstEntity = soilProfile.Create(registry); // When MacroStabilityInwardsSoilProfileOneDEntity secondEntity = soilProfile.Create(registry); // Then Assert.AreSame(firstEntity, secondEntity); }
public void Create_WithValidProperties_ReturnsEntityWithPropertiesSet() { // Setup var random = new Random(31); const string name = "some name"; double bottom = -random.NextDouble(); var soilProfile = new MacroStabilityInwardsSoilProfile1D(name, bottom, new[] { new MacroStabilityInwardsSoilLayer1D(random.NextDouble()), new MacroStabilityInwardsSoilLayer1D(random.NextDouble()) }); var registry = new PersistenceRegistry(); // Call MacroStabilityInwardsSoilProfileOneDEntity entity = soilProfile.Create(registry); // Assert Assert.IsNotNull(entity); Assert.AreEqual(soilProfile.Bottom, entity.Bottom); Assert.AreEqual(soilProfile.Layers.Count(), entity.MacroStabilityInwardsSoilLayerOneDEntities.Count); MacroStabilityInwardsSoilLayerOneDEntity firstLayerEntity = entity.MacroStabilityInwardsSoilLayerOneDEntities.ElementAt(0); Assert.AreEqual(soilProfile.Layers.ElementAt(0).Top, firstLayerEntity.Top); MacroStabilityInwardsSoilLayerOneDEntity secondLayerEntity = entity.MacroStabilityInwardsSoilLayerOneDEntities.ElementAt(1); Assert.AreEqual(soilProfile.Layers.ElementAt(1).Top, secondLayerEntity.Top); }
public void Create_PersistenceRegistryNull_ThrowsArgumentNullException() { // Setup MacroStabilityInwardsSoilProfile1D soilProfile = MacroStabilityInwardsSoilProfile1DTestFactory.CreateMacroStabilityInwardsSoilProfile1D(); // Call TestDelegate test = () => soilProfile.Create(null); // Assert string parameterName = Assert.Throws <ArgumentNullException>(test).ParamName; Assert.AreEqual("registry", parameterName); }
public void Create_StringPropertiesDoNotShareReference() { // Setup const string name = "some name"; MacroStabilityInwardsSoilProfile1D soilProfile = MacroStabilityInwardsSoilProfile1DTestFactory.CreateMacroStabilityInwardsSoilProfile1D(name); var registry = new PersistenceRegistry(); // Call MacroStabilityInwardsSoilProfileOneDEntity entity = soilProfile.Create(registry); // Assert TestHelper.AssertAreEqualButNotSame(name, entity.Name); }
public void Create_WithNaNProperties_ReturnsEntityWithPropertiesSetToNull() { // Setup var random = new Random(31); var soilProfile = new MacroStabilityInwardsSoilProfile1D("some name", double.NaN, new[] { new MacroStabilityInwardsSoilLayer1D(random.NextDouble()) }); var registry = new PersistenceRegistry(); // Call MacroStabilityInwardsSoilProfileOneDEntity entity = soilProfile.Create(registry); // Assert Assert.IsNotNull(entity); Assert.IsNull(entity.Bottom); }