public void FindMany_Returns_Correct_Result() { // Arrange using var connection = new DbConnection(); connection.AddResultForDataReader(new[] { new MyDataObject { Property = "test1" }, new MyDataObject { Property = "test2" } }); var command = connection.CreateCommand(); // Act var result = command.FindMany("SELECT * FROM FRIDGE WHERE Alcohol > 0", DatabaseCommandType.Text, reader => new MyDataObject { Property = reader.GetString("Property") }); // Assert result.Should().NotBeNull().And.HaveCount(2); result.First().Property.Should().Be("test1"); result.Last().Property.Should().Be("test2"); }
public void Can_Add_Entity() { // Arrange var entity = new TestEntity("A", "B", "C", false); _connection.AddResultForDataReader(cmd => cmd.CommandText == "INSERT INTO...", new[] { new TestEntity("A", "B", "C", true) }); // Act var actual = _repository.Add(entity); // Assert actual.Code.Should().Be(entity.Code); actual.CodeType.Should().Be(entity.CodeType); actual.Description.Should().Be(entity.Description); actual.IsExistingEntity.Should().BeTrue(); }
public void FindOne_Returns_Correct_Result() { // Arrange using var connection = new DbConnection(); connection.AddResultForDataReader(new[] { new MyDataObject { Property = "test" } }); var command = connection.CreateCommand(); // Act var result = command.FindOne("SELECT TOP 1 * FROM FRIDGE WHERE Alcohol > 0", DatabaseCommandType.Text, reader => new MyDataObject { Property = reader.GetString("Property") }); // Assert result.Should().NotBeNull(); if (result != null) { result.Property.Should().Be("test"); } }
public static DbConnection AddResultForDataReader(this DbConnection instance, Func <IEnumerable> data) => instance.AddResultForDataReader(null, null, data);
public static DbConnection AddResultForDataReader(this DbConnection instance, Func <DbCommand, bool>?predicate, Action <DataReader>?callback, IEnumerable data) => instance.AddResultForDataReader(predicate, callback, () => data);
public static DbConnection AddResultForDataReader(this DbConnection instance, Func <DbCommand, bool>?predicate, Func <IEnumerable> data) => instance.AddResultForDataReader(predicate, null, data);
public static DbConnection AddResultForDataReader(this DbConnection instance, Action <DataReader>?callback, Func <IEnumerable> data) => instance.AddResultForDataReader(null, callback, data);