/// <summary> /// Adds an entity to the given query. /// </summary> /// <param name="query">The query.</param> /// <param name="entity">The entity.</param> /// <typeparam name="TEntity">The entity type.</typeparam> public static void Add <TEntity>(this InMemoryQuery query, TEntity entity) where TEntity : class, IEntity { if (query == null) { throw new ArgumentNullException(nameof(query)); } query.Add(entity, entity.IdentityValue); }
/// <summary> /// Adds a collection of entities to the given query. /// </summary> /// <param name="query">The query.</param> /// <param name="entities">The entities.</param> /// <typeparam name="TEntity">The entity type.</typeparam> public static void Add <TEntity>(this InMemoryQuery query, IEnumerable <TEntity> entities) where TEntity : class, IEntity { if (query == null) { throw new ArgumentNullException(nameof(query)); } query.Add(entities, item => item.IdentityValue); }
public void Add_adds_an_entity_with_its_identity([AlwaysMock] InMemoryQuery query, Person entity) { // Arrange var identityValue = entity.Identity; // Act query.Add(entity); // Assert Mock.Get(query).Verify(x => x.Add(entity, identityValue), Times.Once()); }
public void Delete_deletes_an_entity_by_its_identity([AlwaysMock] InMemoryQuery query, IIdentity <Person> identity, object identityValue) { // Arrange Mock.Get(identity).SetupGet(x => x.Value).Returns(identityValue); // Act query.DeleteEntity(identity); // Assert Mock.Get(query).Verify(x => x.Delete <Person>(identityValue), Times.Once()); }
public void Add_adds_collection_of_entities_with_their_identities([AlwaysMock] InMemoryQuery query, Person entityOne, Person entityTwo) { // Arrange IEnumerable <IEntity> collection = new[] { entityOne, entityTwo }; // Act query.Add(collection); // Assert Mock.Get(query).Verify(x => x.Add(collection, It.IsAny <Func <IEntity, object> >()), Times.Once()); }
/// <summary> /// Deletes an entity from the given query using its identity. /// </summary> /// <param name="query">Query.</param> /// <param name="identity">Identity.</param> /// <typeparam name="TEntity">The entity type.</typeparam> public static void DeleteEntity <TEntity>(this InMemoryQuery query, IIdentity <TEntity> identity) where TEntity : class, IEntity { if (identity == null) { throw new ArgumentNullException(nameof(identity)); } if (query == null) { throw new ArgumentNullException(nameof(query)); } query.Delete <TEntity>(identity.Value); }
public Task <IReadOnlyCollection <TReadModel> > ExecuteQueryAsync( InMemoryQuery <TReadModel> query, CancellationToken cancellationToken) { return(_readModelStore.FindAsync(query.Query, cancellationToken)); }