fluentassertions / fluentassertions/fluentassertions.datasets

Comparing datatables with dbnull in expectation doesn't cause test to fail when subject has a value

Đang mở
#2 9 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
C#
Star
1
Fork
4
Merge trung bình
8 giờ 19 phút
Pull request đã merge (30 ngày)
3

Mô tả

### Description

Comparing DataTables where a column in the expectation containing a dbnull value passes comparison regardless of the value in the same column in the subject.

### Complete minimal example reproducing the issue

```csharp
// Arrange
var expected = new DataTable();
expected.Columns.AddRange(new[]
{
new DataColumn("Column1", typeof(string)),
new DataColumn("Column2", typeof(string)),
new DataColumn("Column3", typeof(string))
});

expected.Rows.Add("test", null, "1" );

// Act
var actual = new DataTable();
actual.Columns.AddRange(new[]
{
new DataColumn("Column1", typeof(string)),
new DataColumn("Column2", typeof(string)),
new DataColumn("Column3", typeof(string))
});
actual.Rows.Add("test", "fail", "1");

// Assert
actual.Should().BeEquivalentTo(expected);
```

### Expected behavior:

The test to fail because "Column2" in the expectation is null while it has a value of "fail" in the subject

### Actual behavior:

The test passes. Reversing the order leads to the test failing as expected, i.e.,

```csharp
// Assert
expected.Should().BeEquivalentTo(actual);
```
fails.

### Versions

* Which version of Fluent Assertions are you using? 6.7.0
* Which .NET runtime and version are you targeting? .NET 6

### Additional Information

Any additional information, configuration or data that might be necessary to reproduce the issue.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.