Skip to content

Commit c1e1607

Browse files
committed
Where tests
1 parent 105b2c6 commit c1e1607

File tree

4 files changed

+98
-1
lines changed

4 files changed

+98
-1
lines changed

test/AutSoft.Linq.Tests/AutSoft.Linq.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using AutSoft.Linq.Queryable;
2+
3+
using FluentAssertions;
4+
5+
namespace AutSoft.Linq.Tests.Queryable.WhereExtensions;
6+
7+
public partial class WhereExtensionsTests
8+
{
9+
public class If : WhereExtensionsTests
10+
{
11+
[Fact]
12+
public void Should_AppendTrueExpression()
13+
{
14+
// Arrange
15+
var subject = Enumerable.Range(1, 10).AsQueryable();
16+
17+
// Act
18+
var result = subject.If(true, q => q.Where(i => i % 2 == 0)).ToList();
19+
20+
// Assert
21+
result.Should().HaveCount(subject.Count() / 2);
22+
result.Should().AllSatisfy(x => x.Should().Match(i => i % 2 == 0));
23+
}
24+
25+
[Fact]
26+
public void Should_NotAppendTruePredicate()
27+
{
28+
// Arrange
29+
var subject = Enumerable.Range(1, 10).AsQueryable();
30+
31+
// Act
32+
var result = subject.If(false, q => q.Where(i => i % 2 == 0)).ToList();
33+
34+
// Assert
35+
result.Should().HaveCount(subject.Count());
36+
result.Should().BeEquivalentTo(subject);
37+
}
38+
}
39+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using AutSoft.Linq.Queryable;
2+
3+
using FluentAssertions;
4+
5+
namespace AutSoft.Linq.Tests.Queryable.WhereExtensions;
6+
7+
public partial class WhereExtensionsTests
8+
{
9+
public class Where : WhereExtensionsTests
10+
{
11+
[Fact]
12+
public void Should_AppendTruePredicate()
13+
{
14+
// Arrange
15+
var subject = Enumerable.Range(1, 10).AsQueryable();
16+
17+
// Act
18+
var result = subject.Where(true, x => x % 2 == 0).ToList();
19+
20+
// Assert
21+
result.Should().HaveCount(subject.Count() / 2);
22+
result.Should().AllSatisfy(x => x.Should().Match(i => i % 2 == 0));
23+
}
24+
25+
[Fact]
26+
public void Should_NotAppendTruePredicate()
27+
{
28+
// Arrange
29+
var subject = Enumerable.Range(1, 10).AsQueryable();
30+
31+
// Act
32+
var result = subject.Where(false, x => x % 2 == 0).ToList();
33+
34+
// Assert
35+
result.Should().HaveCount(subject.Count());
36+
result.Should().BeEquivalentTo(subject);
37+
}
38+
39+
[Fact]
40+
public void Should_AppendFalsePredicate()
41+
{
42+
// Arrange
43+
var subject = Enumerable.Range(1, 10).AsQueryable();
44+
45+
// Act
46+
var result = subject.Where(false, x => x % 2 == 0, x => x % 2 == 1).ToList();
47+
48+
// Assert
49+
result.Should().HaveCount(subject.Count() / 2);
50+
result.Should().AllSatisfy(x => x.Should().Match(i => i % 2 == 1));
51+
}
52+
}
53+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
namespace AutSoft.Linq.Tests.Queryable.WhereExtensions;
2+
3+
public partial class WhereExtensionsTests
4+
{
5+
}

0 commit comments

Comments
 (0)