Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs
===================================================================
diff -u -rd7c94e90643cacf26292824cdbef90b0cddc53ff -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs (.../IRingtoetsEntities.cs) (revision d7c94e90643cacf26292824cdbef90b0cddc53ff)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/IRingtoetsEntities.cs (.../IRingtoetsEntities.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -33,22 +33,22 @@
///
/// of
///
- IDbSet ProjectEntities { get; }
+ DbSet ProjectEntities { get; }
///
/// of
///
- IDbSet DikeAssessmentSectionEntities { get; }
+ DbSet DikeAssessmentSectionEntities { get; }
///
/// of
///
- IDbSet FailureMechanismEntities { get; }
+ DbSet FailureMechanismEntities { get; }
///
/// of
///
- IDbSet HydraulicLocationEntities { get; }
+ DbSet HydraulicLocationEntities { get; }
DbSet Set() where TEntity : class;
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs
===================================================================
diff -u -rd7c94e90643cacf26292824cdbef90b0cddc53ff -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision d7c94e90643cacf26292824cdbef90b0cddc53ff)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -52,11 +52,11 @@
throw new UnintentionalCodeFirstException();
}
- public virtual IDbSet DikeAssessmentSectionEntities { get; set; }
- public virtual IDbSet FailureMechanismEntities { get; set; }
- public virtual IDbSet HydraulicLocationEntities { get; set; }
- public virtual IDbSet ProjectEntities { get; set; }
- public virtual IDbSet ReferenceLinePointEntities { get; set; }
- public virtual IDbSet Versions { get; set; }
+ public virtual DbSet DikeAssessmentSectionEntities { get; set; }
+ public virtual DbSet FailureMechanismEntities { get; set; }
+ public virtual DbSet HydraulicLocationEntities { get; set; }
+ public virtual DbSet ProjectEntities { get; set; }
+ public virtual DbSet ReferenceLinePointEntities { get; set; }
+ public virtual DbSet Versions { get; set; }
}
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.tt
===================================================================
diff -u -rc50bbb508171b9879c1bcffc412309da4810b38d -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.tt (.../RingtoetsEntities.Context.tt) (revision c50bbb508171b9879c1bcffc412309da4810b38d)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.tt (.../RingtoetsEntities.Context.tt) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -335,7 +335,7 @@
{
return string.Format(
CultureInfo.InvariantCulture,
- "{0} virtual IDbSet<{1}> {2} {{ get; set; }}",
+ "{0} virtual DbSet<{1}> {2} {{ get; set; }}",
Accessibility.ForReadOnlyProperty(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType),
_code.Escape(entitySet));
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/FailureMechanismEntityPersistorBase.cs
===================================================================
diff -u -rd242e89e13ef602facae6a1ef91660242bcef340 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/FailureMechanismEntityPersistorBase.cs (.../FailureMechanismEntityPersistorBase.cs) (revision d242e89e13ef602facae6a1ef91660242bcef340)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/FailureMechanismEntityPersistorBase.cs (.../FailureMechanismEntityPersistorBase.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -23,13 +23,10 @@
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
-using Application.Ringtoets.Storage.Converters;
using Application.Ringtoets.Storage.DbContext;
using Application.Ringtoets.Storage.Exceptions;
using Application.Ringtoets.Storage.Properties;
using Ringtoets.Common.Data;
-using Ringtoets.Integration.Data;
-using Ringtoets.Piping.Data;
namespace Application.Ringtoets.Storage.Persistors
{
@@ -38,7 +35,7 @@
///
public abstract class FailureMechanismEntityPersistorBase where T : IFailureMechanism
{
- private readonly IRingtoetsEntities dbContext;
+ private readonly DbSet dbSet;
private readonly Dictionary insertedList = new Dictionary();
private readonly ICollection modifiedList = new List();
@@ -53,7 +50,7 @@
{
throw new ArgumentNullException("ringtoetsContext");
}
- dbContext = ringtoetsContext;
+ dbSet = ringtoetsContext.FailureMechanismEntities;
}
///
@@ -159,7 +156,7 @@
// If id = 0, the entity is marked as inserted
if (toDelete.FailureMechanismEntityId > 0)
{
- dbContext.FailureMechanismEntities.Remove(toDelete);
+ dbSet.Remove(toDelete);
}
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/ProjectEntityPersistor.cs
===================================================================
diff -u -r0b5ecd8a04803bce1ed8398053e9b7cb7404b886 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/ProjectEntityPersistor.cs (.../ProjectEntityPersistor.cs) (revision 0b5ecd8a04803bce1ed8398053e9b7cb7404b886)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Persistors/ProjectEntityPersistor.cs (.../ProjectEntityPersistor.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -38,8 +38,7 @@
///
public class ProjectEntityPersistor
{
- private readonly IRingtoetsEntities dbContext;
- private readonly IDbSet dbSet;
+ private readonly DbSet dbSet;
private readonly ProjectEntityConverter converter;
private readonly Dictionary insertedList = new Dictionary();
private readonly ICollection modifiedList = new List();
@@ -57,12 +56,11 @@
{
throw new ArgumentNullException("ringtoetsContext");
}
- dbContext = ringtoetsContext;
- dbSet = dbContext.ProjectEntities;
+ dbSet = ringtoetsContext.ProjectEntities;
converter = new ProjectEntityConverter();
- dikeAssessmentSectionEntityPersistor = new DikeAssessmentSectionEntityPersistor(dbContext);
+ dikeAssessmentSectionEntityPersistor = new DikeAssessmentSectionEntityPersistor(ringtoetsContext);
}
///
@@ -87,7 +85,7 @@
/// The parentNavigationProperty is read-only.
public void InsertModel(Project project)
{
- InsertModel(dbSet.Local, project);
+ InsertModel(dbSet, project);
}
///
@@ -104,41 +102,14 @@
/// The parentNavigationProperty is read-only.
public void UpdateModel(Project model)
{
- UpdateModel(dbSet.Local, model);
- }
-
- ///
- /// Removes all entities from that are not marked as 'updated'.
- ///
- /// List where objects can be searched. Usually, this collection is a navigation property of a .
- /// Thrown when the is read-only.
- public void RemoveUnModifiedEntries(ICollection parentNavigationProperty)
- {
- var untouchedList = parentNavigationProperty.Where(e => !modifiedList.Contains(e));
- dbContext.Set().RemoveRange(untouchedList);
-
- modifiedList.Clear();
- }
-
- ///
- /// Perform actions that can only be executed after has been called.
- ///
- public void PerformPostSaveActions()
- {
- UpdateStorageIdsInModel();
- dikeAssessmentSectionEntityPersistor.PerformPostSaveActions();
- }
-
- private void UpdateModel(ICollection parentNavigationProperty, Project model)
- {
if (model == null)
{
throw new ArgumentNullException("model", @"Cannot update databaseSet when no project is set.");
}
ProjectEntity entity;
try
{
- entity = parentNavigationProperty.SingleOrDefault(db => db.ProjectEntityId == model.StorageId);
+ entity = dbSet.SingleOrDefault(db => db.ProjectEntityId == model.StorageId);
}
catch (InvalidOperationException exception)
{
@@ -154,15 +125,35 @@
UpdateChildren(model, entity);
}
- private void InsertModel(ICollection parentNavigationProperty, Project project)
+ ///
+ /// Removes all entities from that are not marked as 'updated'.
+ ///
+ public void RemoveUnModifiedEntries()
{
+ var untouchedList = dbSet.ToList().Where(e => !modifiedList.Contains(e));
+ dbSet.RemoveRange(untouchedList);
+
+ modifiedList.Clear();
+ }
+
+ ///
+ /// Perform actions that can only be executed after has been called.
+ ///
+ public void PerformPostSaveActions()
+ {
+ UpdateStorageIdsInModel();
+ dikeAssessmentSectionEntityPersistor.PerformPostSaveActions();
+ }
+
+ private void InsertModel(DbSet parentNavigationProperty, Project project)
+ {
if (project == null)
{
throw new ArgumentNullException("project", @"Cannot update databaseSet when no project is set.");
}
var entity = new ProjectEntity();
- parentNavigationProperty.Add(entity);
+ dbSet.Add(entity);
insertedList.Add(entity, project);
converter.ConvertModelToEntity(project, entity);
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs
===================================================================
diff -u -r8b53cc5e5753875d94f76359c6916ef6da38fe3c -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs (.../StorageSqLite.cs) (revision 8b53cc5e5753875d94f76359c6916ef6da38fe3c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs (.../StorageSqLite.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -130,10 +130,10 @@
var projectEntityPersistor = new ProjectEntityPersistor(dbContext);
try
{
- ICollection projectEntities = dbContext.ProjectEntities.ToList();
+ var projectEntities = dbContext.ProjectEntities;
projectEntityPersistor.UpdateModel(project);
- projectEntityPersistor.RemoveUnModifiedEntries(projectEntities);
+ projectEntityPersistor.RemoveUnModifiedEntries();
var changes = dbContext.SaveChanges();
projectEntityPersistor.PerformPostSaveActions();
return changes;
@@ -208,10 +208,10 @@
try
{
- ICollection projectEntities = dbContext.ProjectEntities.ToList();
+ var projectEntities = dbContext.ProjectEntities;
projectEntityPersistor.UpdateModel(project);
- projectEntityPersistor.RemoveUnModifiedEntries(projectEntities);
+ projectEntityPersistor.RemoveUnModifiedEntries();
return dbContext.ChangeTracker.HasChanges();
}
catch (EntityNotFoundException) {}
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj
===================================================================
diff -u -r1d52c0ffc913d7803070bd9797d811a991b5c365 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 1d52c0ffc913d7803070bd9797d811a991b5c365)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -86,7 +86,6 @@
-
Fisheye: Tag a6371ac68897b69e2efd537fa29bb6564f50fdcf refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/DbContext/DbTestSet.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs
===================================================================
diff -u -r0b5ecd8a04803bce1ed8398053e9b7cb7404b886 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs (.../DikeAssessmentSectionEntityPersistorTest.cs) (revision 0b5ecd8a04803bce1ed8398053e9b7cb7404b886)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikeAssessmentSectionEntityPersistorTest.cs (.../DikeAssessmentSectionEntityPersistorTest.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -22,7 +22,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
-using System.Data.Entity;
using System.Linq;
using Application.Ringtoets.Storage.DbContext;
using Application.Ringtoets.Storage.Exceptions;
@@ -59,7 +58,7 @@
public void Constructor_EmptyDataset_NewInstance()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
mockRepository.ReplayAll();
// Call
@@ -75,7 +74,7 @@
public void LoadModel_NullEntity_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
mockRepository.ReplayAll();
@@ -113,7 +112,7 @@
const decimal otherHydraulicDatabaseLocationX = 3927;
const decimal otherHydraulicDatabaseLocationY = 372;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
var entity = new DikeAssessmentSectionEntity
{
@@ -176,7 +175,7 @@
public void LoadModel_MultipleEntitiesInDataset_EntitiesAsModel()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List
{
@@ -258,7 +257,7 @@
public void InsertModel_NulldikeAssessmentSection_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
var parentNavigationProperty = mockRepository.StrictMock>();
mockRepository.ReplayAll();
@@ -278,8 +277,11 @@
// Setup
const string name = "test";
const int norm = 30000;
- var ringtoetsEntities = mockRepository.StrictMock();
- DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+
+ mockRepository.ReplayAll();
+
ICollection parentNavigationProperty = new List();
DikeAssessmentSection dikeAssessmentSection =
new DikeAssessmentSection
@@ -291,9 +293,9 @@
},
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
};
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- mockRepository.ReplayAll();
+ DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
+
// Call
persistor.InsertModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -316,6 +318,10 @@
const long storageId = 1234L;
const int norm = 30000;
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+
+ mockRepository.ReplayAll();
+
DikeAssessmentSectionEntity entityToDelete = new DikeAssessmentSectionEntity
{
DikeAssessmentSectionEntityId = storageId,
@@ -325,8 +331,6 @@
{
entityToDelete
};
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
@@ -339,7 +343,6 @@
Norm = norm
}
};
- mockRepository.ReplayAll();
// Call
persistor.InsertModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -359,8 +362,10 @@
public void InsertModel_ValidDikeAssessmentSectionWithChildren_InsertedDikeAssessmentSectionWithChildren()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+
+ mockRepository.ReplayAll();
+
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
const string name = "test";
@@ -379,8 +384,6 @@
IList parentNavigationProperty = new List();
- mockRepository.ReplayAll();
-
// Call
persistor.InsertModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -423,7 +426,7 @@
public void UpdateModel_NulldikeAssessmentSection_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = mockRepository.Stub();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
var parentNavigationProperty = mockRepository.StrictMock>();
mockRepository.ReplayAll();
@@ -443,8 +446,10 @@
// Setup
const string name = "test";
const int norm = 30000;
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+
+ mockRepository.ReplayAll();
+
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List();
DikeAssessmentSection dikeAssessmentSection =
@@ -458,7 +463,6 @@
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
}
;
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -481,7 +485,8 @@
const string name = "test";
const long storageId = 1234L;
const int norm = 30000;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List();
DikeAssessmentSection dikeAssessmentSection =
@@ -494,7 +499,6 @@
Norm = norm
}
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -510,7 +514,8 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List
{
@@ -524,7 +529,6 @@
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -540,7 +544,8 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List
{
@@ -558,7 +563,6 @@
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -578,8 +582,8 @@
const string name = "test";
const long storageId = 1234L;
const int norm = 30000;
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List
{
@@ -601,7 +605,6 @@
},
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
};
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -624,6 +627,10 @@
const string name = "UpdatedName";
const long storageId = 1234L;
const int norm = 30000;
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikeAssessmentSectionEntity entityToDelete = new DikeAssessmentSectionEntity
{
DikeAssessmentSectionEntityId = 4567L,
@@ -640,8 +647,6 @@
}
};
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
DikeAssessmentSection dikeAssessmentSection =
@@ -655,7 +660,6 @@
},
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
};
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -679,8 +683,9 @@
const long hydraulicLocationEntityId = 5678L;
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
DikeAssessmentSection dikeAssessmentSection = new DikeAssessmentSection
{
@@ -706,7 +711,6 @@
}
}
};
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
@@ -733,23 +737,21 @@
const string name = "test";
const long storageId = 0L; // Newly inserted entities have Id = 0 untill they are saved
const int norm = 30000;
- DikeAssessmentSectionEntity entityToDelete = new DikeAssessmentSectionEntity
+ DikeAssessmentSectionEntity entityToUpdate = new DikeAssessmentSectionEntity
{
DikeAssessmentSectionEntityId = 4567L,
- Name = "Entity to delete"
+ Name = "Entity to update"
};
ObservableCollection parentNavigationProperty = new ObservableCollection
{
- entityToDelete
+ entityToUpdate
};
- var ringtoetsEntities = mockRepository.StrictMock();
- var set = mockRepository.StrictMock>();
- ringtoetsEntities.Expect(c => c.Set()).Return(set);
- set.Expect(s => s.RemoveRange(Arg>.List.Equal(new [] { entityToDelete })));
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ ringtoetsEntities.DikeAssessmentSectionEntities.Add(entityToUpdate);
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
DikeAssessmentSection dikeAssessmentSection =
@@ -762,10 +764,10 @@
},
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
};
- mockRepository.ReplayAll();
- // Call
persistor.UpdateModel(parentNavigationProperty, dikeAssessmentSection, 0);
+
+ // Call
persistor.RemoveUnModifiedEntries(parentNavigationProperty);
// Assert
@@ -802,14 +804,11 @@
entityToDelete,
entityToUpdate
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
- var ringtoetsEntities = mockRepository.StrictMock();
- var set = mockRepository.StrictMock>();
- ringtoetsEntities.Expect(c => c.Set()).Return(set);
- set.Expect(s => s.RemoveRange(Arg>.List.Equal(new[] { entityToDelete })));
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
+ ringtoetsEntities.DikeAssessmentSectionEntities.Add(entityToUpdate);
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
DikeAssessmentSection dikeAssessmentSection = new DikeAssessmentSection
@@ -860,12 +859,9 @@
secondEntityToDelete
};
- var ringtoetsEntities = mockRepository.StrictMock();
- var set = mockRepository.StrictMock>();
- ringtoetsEntities.Expect(c => c.Set()).Return(set);
- set.Expect(s => s.RemoveRange(Arg>.List.Equal(parentNavigationProperty.ToList())));
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
DikeAssessmentSection dikeAssessmentSection = new DikeAssessmentSection
@@ -888,10 +884,11 @@
public void PerformPostSaveActions_NoInserts_DoesNotThrowException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
- DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+ DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
+
// Call
TestDelegate test = () => persistor.PerformPostSaveActions();
@@ -908,38 +905,29 @@
public void PerformPostSaveActions_MultipleModelsInsertedWithoutStorageId_ModelsWithStorageId(int numberOfInserts)
{
// Setup
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
var insertedDikeAssessmentSectionEntities = new List();
- var parentNavigationPropertyMock = mockRepository.StrictMock>();
- parentNavigationPropertyMock.Expect(m => m.Add(null)).IgnoreArguments().WhenCalled(x =>
- {
- var insertedDikeAssessmentSectionEntity = x.Arguments.GetValue(0);
- Assert.IsInstanceOf(insertedDikeAssessmentSectionEntity);
- insertedDikeAssessmentSectionEntities.Add((DikeAssessmentSectionEntity) insertedDikeAssessmentSectionEntity);
- }).Repeat.Times(numberOfInserts);
IList dikeAssessmentSections = new List();
- var ringtoetsEntities = mockRepository.StrictMock();
DikeAssessmentSectionEntityPersistor persistor = new DikeAssessmentSectionEntityPersistor(ringtoetsEntities);
for (var i = 0; i < numberOfInserts; i++)
{
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
dikeAssessmentSections.Add(new DikeAssessmentSection
{
StorageId = 0L,
HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase()
});
}
-
- mockRepository.ReplayAll();
-
foreach (var dikeAssessmentSection in dikeAssessmentSections)
{
try
{
- persistor.UpdateModel(parentNavigationPropertyMock, dikeAssessmentSection, 0);
+ persistor.UpdateModel(insertedDikeAssessmentSectionEntities, dikeAssessmentSection, 0);
}
catch (Exception)
{
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs
===================================================================
diff -u -r220a073b3d2066d57af048325e3ba37bb1340d0d -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs (.../DikesPipingFailureMechanismEntityPersistorTest.cs) (revision 220a073b3d2066d57af048325e3ba37bb1340d0d)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/DikesPipingFailureMechanismEntityPersistorTest.cs (.../DikesPipingFailureMechanismEntityPersistorTest.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -26,7 +26,7 @@
using Application.Ringtoets.Storage.DbContext;
using Application.Ringtoets.Storage.Exceptions;
using Application.Ringtoets.Storage.Persistors;
-using Application.Ringtoets.Storage.Test.DbContext;
+using Application.Ringtoets.Storage.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
using Ringtoets.Integration.Data;
@@ -57,7 +57,7 @@
public void Constructor_EmptyDataset_NewInstance()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
// Call
@@ -153,10 +153,11 @@
public void InsertModel_NullDataset_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism model = new PipingFailureMechanism();
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.InsertModel(null, model);
@@ -171,10 +172,11 @@
public void InsertModel_EmptyDatasetNullModel_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List();
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.InsertModel(parentNavigationProperty, null);
@@ -189,13 +191,13 @@
public void InsertModel_EmptyDatasetValidModel_ValidEntityInDataModel()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List();
PipingFailureMechanism model = new PipingFailureMechanism();
- mockRepository.ReplayAll();
-
// Call
persistor.InsertModel(parentNavigationProperty, model);
@@ -213,6 +215,9 @@
{
// Setup
const long storageId = 1234L;
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
FailureMechanismEntity entityToDelete = new FailureMechanismEntity
{
FailureMechanismEntityId = storageId,
@@ -222,13 +227,11 @@
{
entityToDelete
};
- var ringtoetsEntities = mockRepository.StrictMock();
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism pipingFailureMechanism = new PipingFailureMechanism
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
persistor.InsertModel(parentNavigationProperty, pipingFailureMechanism);
@@ -247,13 +250,14 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism model = new PipingFailureMechanism
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(null, model);
@@ -268,10 +272,11 @@
public void UpdateModel_EmptyDataSetNullModel_ThrowsArgumentNullException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List();
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, null);
@@ -287,14 +292,15 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List();
PipingFailureMechanism model = new PipingFailureMechanism
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, model);
@@ -310,7 +316,9 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List
{
@@ -329,7 +337,6 @@
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, model);
@@ -345,7 +352,9 @@
{
// Setup
const long storageId = 1234L;
- var ringtoetsEntities = mockRepository.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
ICollection parentNavigationProperty = new List
{
@@ -359,7 +368,6 @@
{
StorageId = storageId
};
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, model);
@@ -377,7 +385,9 @@
public void UpdateModel_NoStorageIdSet_InsertNewEntity()
{
var mocks = new MockRepository();
- var ringtoetsEntities = mocks.StrictMock();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
var persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
IList parentNavigationProperty = new List();
@@ -386,8 +396,6 @@
StorageId = 0
};
- mocks.ReplayAll();
-
// Call
persistor.UpdateModel(parentNavigationProperty, model);
@@ -402,6 +410,9 @@
{
// Setup
const long storageId = 0L; // Newly inserted entities have Id = 0 untill they are saved
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
FailureMechanismEntity entityToDelete = new FailureMechanismEntity
{
FailureMechanismEntityId = 4567L,
@@ -412,15 +423,9 @@
{
entityToDelete
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
- dbset.Expect(x => x.Remove(entityToDelete)).Return(entityToDelete);
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.FailureMechanismEntities).Return(dbset);
-
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism pipingFailureMechanism = new PipingFailureMechanism();
- mockRepository.ReplayAll();
// Call
persistor.UpdateModel(parentNavigationProperty, pipingFailureMechanism);
@@ -440,6 +445,10 @@
{
// Setup
const long storageId = 1234L;
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
FailureMechanismEntity entityToUpdate = new FailureMechanismEntity
{
FailureMechanismEntityId = storageId,
@@ -456,18 +465,12 @@
entityToDelete,
entityToUpdate
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
- dbset.Expect(x => x.Remove(entityToDelete)).Return(entityToDelete);
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.FailureMechanismEntities).Return(dbset);
-
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism pipingFailureMechanism = new PipingFailureMechanism
{
StorageId = storageId
};
- mockRepository.ReplayAll();
TestDelegate updateTest = () => persistor.UpdateModel(parentNavigationProperty, pipingFailureMechanism);
Assert.DoesNotThrow(updateTest, "Precondition failed: Update should not throw exception.");
@@ -503,16 +506,15 @@
secondEntityToDelete
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
- dbset.Expect(x => x.Remove(firstEntityToDelete)).Return(firstEntityToDelete);
- dbset.Expect(x => x.Remove(secondEntityToDelete)).Return(secondEntityToDelete);
-
var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.FailureMechanismEntities).Return(dbset).Repeat.Twice();
+ var dbset = DbTestSet.GetDbTestSet(parentNavigationProperty);
+ ringtoetsEntities.Expect(d => d.FailureMechanismEntities).Return(dbset);
+
+ mockRepository.ReplayAll();
+
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
PipingFailureMechanism pipingFailureMechanism = new PipingFailureMechanism();
- mockRepository.ReplayAll();
TestDelegate test = () => persistor.UpdateModel(parentNavigationProperty, pipingFailureMechanism);
Assert.DoesNotThrow(test, "Precondition failed: UpdateModel");
@@ -528,10 +530,11 @@
public void PerformPostSaveActions_NoInserts_DoesNotThrowException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
- DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+ DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
+
// Call
TestDelegate test = () => persistor.PerformPostSaveActions();
@@ -548,14 +551,10 @@
public void PerformPostSaveActions_MultipleModelsInsertedWithoutStorageId_ModelsWithStorageId(int numberOfInserts)
{
// Setup
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
var insertedFailureMechanismEntities = new List();
- var parentNavigationPropertyMock = mockRepository.StrictMock>();
- parentNavigationPropertyMock.Expect(m => m.Add(null)).IgnoreArguments().WhenCalled(x =>
- {
- var insertedDikeAssessmentSectionEntity = x.Arguments.GetValue(0);
- Assert.IsInstanceOf(insertedDikeAssessmentSectionEntity);
- insertedFailureMechanismEntities.Add((FailureMechanismEntity) insertedDikeAssessmentSectionEntity);
- }).Repeat.Times(numberOfInserts);
IList pipingFailureMechanisms = new List();
for (var i = 0; i < numberOfInserts; i++)
@@ -566,15 +565,14 @@
});
}
- var ringtoetsEntities = mockRepository.StrictMock();
DikesPipingFailureMechanismEntityPersistor persistor = new DikesPipingFailureMechanismEntityPersistor(ringtoetsEntities);
mockRepository.ReplayAll();
foreach (var pipingFailureMechanism in pipingFailureMechanisms)
{
try
{
- persistor.UpdateModel(parentNavigationPropertyMock, pipingFailureMechanism);
+ persistor.UpdateModel(insertedFailureMechanismEntities, pipingFailureMechanism);
}
catch (Exception)
{
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/ProjectEntityPersistorTest.cs
===================================================================
diff -u -r0b5ecd8a04803bce1ed8398053e9b7cb7404b886 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/ProjectEntityPersistorTest.cs (.../ProjectEntityPersistorTest.cs) (revision 0b5ecd8a04803bce1ed8398053e9b7cb7404b886)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Persistors/ProjectEntityPersistorTest.cs (.../ProjectEntityPersistorTest.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -6,7 +6,6 @@
using Application.Ringtoets.Storage.DbContext;
using Application.Ringtoets.Storage.Exceptions;
using Application.Ringtoets.Storage.Persistors;
-using Application.Ringtoets.Storage.Test.DbContext;
using Application.Ringtoets.Storage.TestUtil;
using Core.Common.Base.Data;
using NUnit.Framework;
@@ -38,9 +37,7 @@
public void Constructor_EmptyDataset_NewInstance()
{
// Setup
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
// Call
@@ -54,11 +51,9 @@
public void GetEntityAsModel_EmptyDataset_DoesNotThrowException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
-
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -76,17 +71,15 @@
// Setup
const long storageId = 1234L;
const string description = "description";
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = storageId,
Description = description
- }
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- mockRepository.ReplayAll();
+ });
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -107,17 +100,17 @@
const long storageId = 1234L;
const string description = "description";
string defaultProjectName = new Project().Name;
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
+ ringtoetsEntities.ProjectEntities.Add(
+ new ProjectEntity
{
- new ProjectEntity
- {
- ProjectEntityId = storageId,
- Description = description
- }
+ ProjectEntityId = storageId,
+ Description = description
});
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -136,20 +129,19 @@
public void GetEntityAsModel_MultipleEntitiesInDataSet_ThrowsInvalidOperationException()
{
// Setup
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = 1
- },
+ });
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = 2
- }
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- mockRepository.ReplayAll();
+ });
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -167,8 +159,11 @@
// Setup
const long storageId = 1234L;
const string description = "description";
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = storageId,
@@ -181,11 +176,8 @@
Order = 0
}
}
- }
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- mockRepository.ReplayAll();
+ });
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -205,21 +197,17 @@
public void InsertModel_NullData_ThrowsArgumentNullException()
{
// Setup
- var dbSetMethodAddWasHit = 0;
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- dbset.Stub(m => m.Add(new ProjectEntity())).IgnoreArguments().Return(new ProjectEntity())
- .WhenCalled(invocation => dbSetMethodAddWasHit++);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
TestDelegate test = () => persistor.InsertModel(null);
// Assert
Assert.Throws(test);
- Assert.AreEqual(0, dbSetMethodAddWasHit);
+ Assert.AreEqual(0, ringtoetsEntities.ProjectEntities.Count());
mockRepository.VerifyAll();
}
@@ -230,26 +218,23 @@
// Setup
const long storageId = 1234L;
const string description = "description";
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
Project project = new Project
{
StorageId = storageId,
Description = description
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
-
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
-
- mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
persistor.InsertModel(project);
// Assert
- var projectEntity = dbset.Local.First();
+ var projectEntity = ringtoetsEntities.ProjectEntities.First();
Assert.AreNotEqual(project, projectEntity);
Assert.AreEqual(storageId, projectEntity.ProjectEntityId);
Assert.AreEqual(description, projectEntity.Description);
@@ -263,6 +248,10 @@
// Setup
const long storageId = 1234L;
const string description = "description";
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
Project project = new Project
{
StorageId = storageId,
@@ -273,21 +262,13 @@
}
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
-
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
-
- mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
persistor.InsertModel(project);
// Assert
- var projectEntity = dbset.Local.First();
+ var projectEntity = ringtoetsEntities.ProjectEntities.First();
Assert.AreNotEqual(project, projectEntity);
Assert.AreEqual(storageId, projectEntity.ProjectEntityId);
Assert.AreEqual(description, projectEntity.Description);
@@ -300,10 +281,9 @@
public void UpdateModel_NullData_ThrowsArgumentNullException()
{
// Setup
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -320,27 +300,26 @@
{
// Setup
const long storageId = 1234L;
- var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId);
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
Project project = new Project
{
StorageId = storageId
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = 2
- }
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- mockRepository.ReplayAll();
+ });
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
TestDelegate test = () => persistor.UpdateModel(project);
// Assert
+ var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId);
EntityNotFoundException exception = Assert.Throws(test);
Assert.AreEqual(expectedMessage, exception.Message);
@@ -352,35 +331,34 @@
{
// Setup
const long storageId = 1234L;
- var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId);
- var expectedInnerMessage = "Sequence contains more than one matching element";
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
Project project = new Project
{
StorageId = storageId
};
- var projectEntities = new ObservableCollection
- {
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = storageId
- },
+ });
+ ringtoetsEntities.ProjectEntities.Add(
new ProjectEntity
{
ProjectEntityId = storageId
- }
- };
+ });
- var dbset = DbTestSet.GetDbTestSet(mockRepository, projectEntities);
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
-
- mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
TestDelegate test = () => persistor.UpdateModel(project);
// Assert
+ var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId);
+ var expectedInnerMessage = "Sequence contains more than one matching element";
+
EntityNotFoundException exception = Assert.Throws(test);
Assert.AreEqual(expectedMessage, exception.Message);
@@ -396,6 +374,10 @@
const long storageId = 1234L;
const string description = "";
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
+
Project project = new Project
{
StorageId = storageId,
@@ -406,15 +388,8 @@
ProjectEntityId = storageId
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
- entity
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
+ ringtoetsEntities.ProjectEntities.Add(entity);
- mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -434,6 +409,10 @@
// Setup
const long storageId = 1234L;
const string description = "description";
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
ProjectEntity projectEntity = new ProjectEntity
{
ProjectEntityId = storageId
@@ -448,16 +427,8 @@
}
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection
- {
- projectEntity
- });
- var ringtoetsEntities = mockRepository.StrictMock();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
-
- mockRepository.ReplayAll();
+ ringtoetsEntities.ProjectEntities.Add(projectEntity);
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -476,10 +447,9 @@
public void PerformPostSaveActions_NoInserts_DoesNotThrowException()
{
// Setup
- var ringtoetsEntities = mockRepository.StrictMock();
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
// Call
@@ -497,24 +467,20 @@
// Setup
const long storageId = 1234L;
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
Project project = new Project
{
StorageId = 0L
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, new ObservableCollection());
-
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
-
- mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
TestDelegate insertTest = () => persistor.InsertModel(project);
Assert.DoesNotThrow(insertTest, "Precondition failed: InsertModel failed");
- var insertedProjectEntity = dbset.Local.First();
+ var insertedProjectEntity = ringtoetsEntities.ProjectEntities.First();
insertedProjectEntity.ProjectEntityId = storageId;
Assert.AreEqual(0L, project.StorageId, "Precondition failed: Id should not have been set already");
@@ -534,53 +500,43 @@
// Setup
const string description = "test";
const long storageId = 1L;
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
ProjectEntity entityToDelete = new ProjectEntity
{
ProjectEntityId = 4567L,
Description = "Entity to delete"
};
- ObservableCollection parentNavigationProperty = new ObservableCollection
+ var entityToUpdate = new ProjectEntity
{
- entityToDelete,
- new ProjectEntity
- {
- ProjectEntityId = storageId,
- Description = "Entity to update"
- }
+ ProjectEntityId = storageId,
+ Description = "Entity to update"
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
- var set = mockRepository.StrictMock>();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- ringtoetsEntities.Expect(c => c.Set()).Return(set);
- set.Expect(s => s.RemoveRange(Arg>.List.Equal(new[]
- {
- entityToDelete
- })));
+ ringtoetsEntities.ProjectEntities.Add(entityToDelete);
+ ringtoetsEntities.ProjectEntities.Add(entityToUpdate);
Project project = new Project
{
StorageId = storageId,
Description = description
};
+
mockRepository.ReplayAll();
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
TestDelegate test = () => persistor.UpdateModel(project);
Assert.DoesNotThrow(test, "Precondition failed: UpdateModel");
// Call
- persistor.RemoveUnModifiedEntries(parentNavigationProperty);
+ persistor.RemoveUnModifiedEntries();
// Assert
- Assert.AreEqual(2, parentNavigationProperty.Count);
- var entity = parentNavigationProperty.SingleOrDefault(x => x.ProjectEntityId == storageId);
- Assert.NotNull(entity);
- Assert.AreEqual(storageId, entity.ProjectEntityId);
- Assert.AreEqual(description, entity.Description);
+ Assert.AreEqual(1, ringtoetsEntities.ProjectEntities.Count());
+ CollectionAssert.AreEqual(new[] { entityToUpdate }, ringtoetsEntities.ProjectEntities);
mockRepository.VerifyAll();
}
@@ -590,6 +546,10 @@
{
// Setup
const long storageId = 1L;
+
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mockRepository);
+ mockRepository.ReplayAll();
+
ProjectEntity firstEntityToDelete = new ProjectEntity
{
ProjectEntityId = 1234L,
@@ -600,45 +560,31 @@
ProjectEntityId = 4567L,
Description = "Second entity to delete"
};
- ObservableCollection parentNavigationProperty = new ObservableCollection
+ ProjectEntity entityToUpdate = new ProjectEntity
{
- firstEntityToDelete,
- secondEntityToDelete,
- new ProjectEntity
- {
- ProjectEntityId = storageId,
- Description = "Entity to update"
- }
+ ProjectEntityId = storageId,
+ Description = "Entity to update"
};
- var dbset = DbTestSet.GetDbTestSet(mockRepository, parentNavigationProperty);
+ ringtoetsEntities.ProjectEntities.Add(firstEntityToDelete);
+ ringtoetsEntities.ProjectEntities.Add(secondEntityToDelete);
+ ringtoetsEntities.ProjectEntities.Add(entityToUpdate);
- var ringtoetsEntities = mockRepository.StrictMock();
- DatabaseSetHelper.AddSetExpectancy(mockRepository, ringtoetsEntities);
-
- var set = mockRepository.StrictMock>();
- ringtoetsEntities.Expect(x => x.ProjectEntities).Return(dbset);
- ringtoetsEntities.Expect(c => c.Set()).Return(set);
- set.Expect(s => s.RemoveRange(Arg>.List.Equal(new []
- {
- firstEntityToDelete,
- secondEntityToDelete
- })));
-
Project project = new Project
{
StorageId = storageId
};
- mockRepository.ReplayAll();
+
ProjectEntityPersistor persistor = new ProjectEntityPersistor(ringtoetsEntities);
TestDelegate test = () => persistor.UpdateModel(project);
Assert.DoesNotThrow(test, "Precondition failed: UpdateModel");
// Call
- persistor.RemoveUnModifiedEntries(parentNavigationProperty);
+ persistor.RemoveUnModifiedEntries();
// Assert
+ CollectionAssert.AreEqual(new[] { entityToUpdate }, ringtoetsEntities.ProjectEntities);
mockRepository.VerifyAll();
}
}
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/Application.Ringtoets.Storage.TestUtil.csproj
===================================================================
diff -u -raf7f86aaffd428449ce96539f14baa47297eb6d3 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/Application.Ringtoets.Storage.TestUtil.csproj (.../Application.Ringtoets.Storage.TestUtil.csproj) (revision af7f86aaffd428449ce96539f14baa47297eb6d3)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/Application.Ringtoets.Storage.TestUtil.csproj (.../Application.Ringtoets.Storage.TestUtil.csproj) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -62,6 +62,8 @@
+
+
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DatabaseSetHelper.cs
===================================================================
diff -u -r5cf16fafbdbf705136502c8dc23bb4fd6c31b0e4 -ra6371ac68897b69e2efd537fa29bb6564f50fdcf
--- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DatabaseSetHelper.cs (.../DatabaseSetHelper.cs) (revision 5cf16fafbdbf705136502c8dc23bb4fd6c31b0e4)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DatabaseSetHelper.cs (.../DatabaseSetHelper.cs) (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -9,7 +9,7 @@
public static void AddSetExpectancy(MockRepository mocks, IRingtoetsEntities entities) where T : class
{
var set = mocks.Stub>();
- entities.Expect(c => c.Set()).Return(set);
+ entities.Stub(c => c.Set()).Return(set);
}
}
}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DbTestSet.cs
===================================================================
diff -u
--- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DbTestSet.cs (revision 0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/DbTestSet.cs (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -0,0 +1,93 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Data.Entity;
+using System.Linq;
+using System.Linq.Expressions;
+
+namespace Application.Ringtoets.Storage.TestUtil
+{
+ public static class DbTestSet
+ {
+ public static DbSet GetDbTestSet(ObservableCollection data) where T : class
+ {
+ return new TestDbSet(data);
+ }
+
+ }
+ public class TestDbSet : DbSet, IDbSet where T: class
+ {
+ private readonly IQueryable queryable;
+ private readonly ObservableCollection collection;
+
+ public TestDbSet(ObservableCollection queryable)
+ {
+ collection = queryable;
+ this.queryable = queryable.AsQueryable();
+ }
+
+ public IQueryProvider Provider
+ {
+ get
+ {
+ return queryable.Provider;
+ }
+ }
+
+ public Expression Expression
+ {
+ get
+ {
+ return queryable.Expression;
+ }
+ }
+
+ public Type ElementType
+ {
+ get
+ {
+ return queryable.ElementType;
+ }
+ }
+
+ public override ObservableCollection Local
+ {
+ get
+ {
+ return collection;
+ }
+ }
+
+ public override T Add(T entity)
+ {
+ collection.Add(entity);
+ return entity;
+ }
+
+ public override T Remove(T entity)
+ {
+ collection.Remove(entity);
+ return entity;
+ }
+
+ public override IEnumerable RemoveRange(IEnumerable entities)
+ {
+ foreach(var e in entities)
+ {
+ collection.Remove(e);
+ }
+ return entities;
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return collection.GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return collection.GetEnumerator();
+ }
+ }
+}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs
===================================================================
diff -u
--- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs (revision 0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsEntitiesHelper.cs (revision a6371ac68897b69e2efd537fa29bb6564f50fdcf)
@@ -0,0 +1,23 @@
+using System.Collections.ObjectModel;
+using Application.Ringtoets.Storage.DbContext;
+using Rhino.Mocks;
+
+namespace Application.Ringtoets.Storage.TestUtil
+{
+ static public class RingtoetsEntitiesHelper {
+ public static IRingtoetsEntities Create(MockRepository mockRepository)
+ {
+ var ringtoetsEntities = mockRepository.Stub();
+ var pSet = DbTestSet.GetDbTestSet(new ObservableCollection());
+ var hlSet = DbTestSet.GetDbTestSet(new ObservableCollection());
+ var fmSet = DbTestSet.GetDbTestSet(new ObservableCollection());
+ var dasSet = DbTestSet.GetDbTestSet(new ObservableCollection());
+ ringtoetsEntities.Stub(r => r.ProjectEntities).Return(pSet);
+ ringtoetsEntities.Stub(r => r.Set()).Return(hlSet);
+ ringtoetsEntities.Stub(r => r.FailureMechanismEntities).Return(fmSet);
+ ringtoetsEntities.Stub(r => r.Set()).Return(dasSet);
+ ringtoetsEntities.Stub(r => r.DikeAssessmentSectionEntities).Return(dasSet);
+ return ringtoetsEntities;
+ }
+ }
+}
\ No newline at end of file