private static void VerifyElementDeletion <TTarget>(IQuery query, MockLinqToDbDataBuilder factsDb, TTarget targetObject)
            where TTarget : class, IIdentifiable <long>, IFactObject, new()
        {
            factsDb.Has(targetObject);

            var factory = new VerifiableRepositoryFactory();

            Transformation.Create(query, factory)
            .ApplyChanges <TTarget>(new DefaultIdentityProvider().GetId(targetObject));

            factory.Verify <TTarget>(
                x => x.Delete(It.Is(Predicate.ById <TTarget>(new DefaultIdentityProvider().GetId(targetObject)))),
                Times.Once,
                string.Format("The {0} element was not deleted.", typeof(TTarget).Name));
        }
Esempio n. 2
0
        private static void VerifyElementUpdate <TSource, TTarget>(IQuery query, MockLinqToDbDataBuilder ermDb, MockLinqToDbDataBuilder factsDb, TSource sourceObject, TTarget targetObject)
            where TSource : class, IIdentifiable, new()
            where TTarget : class, IIdentifiable, IFactObject, new()
        {
            ermDb.Has(sourceObject);
            factsDb.Has(targetObject);

            var factory = new VerifiableRepositoryFactory();

            Transformation.Create(query, factory)
            .ApplyChanges <TTarget>(targetObject.Id);

            factory.Verify <TTarget>(
                x => x.Update(It.Is(Predicate.ById <TTarget>(targetObject.Id))),
                Times.Once,
                string.Format("The {0} element was not updated.", typeof(TTarget).Name));
        }
        private static void VerifyElementInsertion <TSource, TTarget>(IQuery query, MockLinqToDbDataBuilder ermDb, TSource sourceObject)
            where TSource : class, IIdentifiable <long>, new()
            where TTarget : class, IIdentifiable <long>, IFactObject, new()
        {
            var entityId = new DefaultIdentityProvider().GetId(sourceObject);

            ermDb.Has(sourceObject);

            var factory = new VerifiableRepositoryFactory();

            Transformation.Create(query, factory)
            .ApplyChanges <TTarget>(entityId);

            factory.Verify <TTarget>(
                x => x.Add(It.Is(Predicate.ById <TTarget>(entityId))),
                Times.Once,
                string.Format("The {0} element was not inserted.", typeof(TTarget).Name));
        }