1
1
using System . Linq . Dynamic . Core . Tests . Helpers . Models ;
2
+ using FluentAssertions ;
2
3
using Xunit ;
3
4
4
- namespace System . Linq . Dynamic . Core . Tests
5
+ namespace System . Linq . Dynamic . Core . Tests ;
6
+
7
+ public partial class QueryableTests
5
8
{
6
- public partial class QueryableTests
9
+ [ Fact ]
10
+ public void Max ( )
11
+ {
12
+ // Arrange
13
+ var incomes = User . GenerateSampleModels ( 10 ) . Select ( u => u . Income ) . ToArray ( ) ;
14
+
15
+ // Act
16
+ var expected = incomes . Max ( ) ;
17
+ var actual = incomes . AsQueryable ( ) . Max ( ) ;
18
+
19
+ // Assert
20
+ Assert . Equal ( expected , actual ) ;
21
+ }
22
+
23
+ [ Fact ]
24
+ public void Max_Selector ( )
7
25
{
8
- [ Fact ]
9
- public void Max ( )
10
- {
11
- // Arrange
12
- var incomes = User . GenerateSampleModels ( 100 ) . Select ( u => u . Income ) ;
13
-
14
- // Act
15
- var expected = incomes . Max ( ) ;
16
- var actual = incomes . AsQueryable ( ) . Max ( ) ;
17
-
18
- // Assert
19
- Assert . Equal ( expected , actual ) ;
20
- }
21
-
22
- [ Fact ]
23
- public void Max_Selector ( )
24
- {
25
- // Arrange
26
- var users = User . GenerateSampleModels ( 100 ) ;
27
-
28
- // Act
29
- var expected = users . Max ( u => u . Income ) ;
30
- var result = users . AsQueryable ( ) . Max ( "Income" ) ;
31
-
32
- // Assert
33
- Assert . Equal ( expected , result ) ;
34
- }
26
+ // Arrange
27
+ var users = User . GenerateSampleModels ( 10 ) ;
28
+
29
+ // Act
30
+ var expected = users . Max ( u => u . Income ) ;
31
+ var result = users . AsQueryable ( ) . Max ( "Income" ) ;
32
+
33
+ // Assert
34
+ Assert . Equal ( expected , result ) ;
35
+ }
36
+
37
+ [ Fact ]
38
+ public void Max_Where_On_Int ( )
39
+ {
40
+ // Arrange
41
+ var users = User . GenerateSampleModels ( 10 ) ;
42
+
43
+ // Act
44
+ var typed = users
45
+ . Where ( u => users . Max ( m => m . Income ) == u . Income )
46
+ . ToList ( ) ;
47
+ var dynamic = users . AsQueryable ( )
48
+ . Where ( "@0.Max(Income) == Income" , users )
49
+ . ToList ( ) ;
50
+
51
+ // Assert
52
+ dynamic . Should ( ) . BeEquivalentTo ( typed ) ;
53
+ }
54
+
55
+ [ Fact ]
56
+ public void Max_Where_On_DateTime ( )
57
+ {
58
+ // Arrange
59
+ var users = User . GenerateSampleModels ( 10 ) ;
60
+
61
+ // Act
62
+ var typed = users
63
+ . Where ( u => users . Max ( m => m . BirthDate ) == u . BirthDate )
64
+ . ToList ( ) ;
65
+ var dynamic = users . AsQueryable ( )
66
+ . Where ( "@0.Max(BirthDate) == BirthDate" , users )
67
+ . ToList ( ) ;
68
+
69
+ // Assert
70
+ dynamic . Should ( ) . BeEquivalentTo ( typed ) ;
71
+ }
72
+
73
+ [ Fact ]
74
+ public void Max_Where_On_NullableDateTime ( )
75
+ {
76
+ // Arrange
77
+ var users = User . GenerateSampleModels ( 10 ) ;
78
+
79
+ // Act
80
+ var typed = users
81
+ . Where ( u => users . Max ( m => m . EndDate ) == u . EndDate )
82
+ . ToList ( ) ;
83
+ var dynamic = users . AsQueryable ( )
84
+ . Where ( "@0.Max(EndDate) == EndDate" , users )
85
+ . ToList ( ) ;
86
+
87
+ // Assert
88
+ dynamic . Should ( ) . BeEquivalentTo ( typed ) ;
35
89
}
36
- }
90
+ }
0 commit comments