/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/MassTransit.DapperIntegration.Tests/WhereStatementHelperTests.cs
50 строк
2 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.DapperIntegration.Tests { using System; using System.Linq.Expressions; using NUnit.Framework; using Saga; public class WhereStatementHelperTests { [Test] public void GetWhereStatementAndParametersFromExpression_HandlesSingleValues() { // Arrange var sagaId = NewId.NextGuid(); Expression<Func<SimpleSaga, bool>> filter = x => x.CorrelationId == sagaId; // Act var (whereStatement, dynamicParameters) = WhereStatementHelper.GetWhereStatementAndParametersFromExpression(filter); // Assert Assert.That(whereStatement, Is.EqualTo("WHERE CorrelationId = @value0")); var sagaIdParameter = dynamicParameters.Get<Guid>("value0"); Assert.That(sagaIdParameter, Is.EqualTo(sagaId)); } [Test] public void GetWhereStatementAndParametersFromExpression_HandlesMultipleValues() { // Arrange var sagaId = NewId.NextGuid(); Expression<Func<SimpleSaga, bool>> filter = x => x.CorrelationId == sagaId && x.Completed && x.CorrelateBySomething == "Kebabsvarv"; // Act var (whereStatement, dynamicParameters) = WhereStatementHelper.GetWhereStatementAndParametersFromExpression(filter); // Assert Assert.That(whereStatement, Is.EqualTo("WHERE CorrelationId = @value0 AND Completed = @value1 AND CorrelateBySomething = @value2")); var sagaIdParameter = dynamicParameters.Get<Guid>("value0"); Assert.That(sagaIdParameter, Is.EqualTo(sagaId)); var completedParameter = dynamicParameters.Get<object>("value1"); Assert.That(completedParameter, Is.True); var correlateBySomethingParameter = dynamicParameters.Get<string>("value2"); Assert.That(correlateBySomethingParameter, Is.EqualTo("Kebabsvarv")); } } }