1- using System . Linq . Dynamic . Core . Tests . Helpers . Models ;
1+ using System . Collections . Generic ;
2+ using System . Linq . Dynamic . Core . Tests . Helpers . Models ;
23using Xunit ;
34
4- namespace System . Linq . Dynamic . Core . Tests
5+ namespace System . Linq . Dynamic . Core . Tests ;
6+
7+ public partial class QueryableTests
58{
6- public partial class QueryableTests
9+ [ Fact ]
10+ public void Average ( )
11+ {
12+ // Arrange
13+ var incomes = User . GenerateSampleModels ( 100 ) . Select ( u => u . Income ) . ToArray ( ) ;
14+
15+ // Act
16+ var expected = incomes . Average ( ) ;
17+ var actual = incomes . AsQueryable ( ) . Average ( ) ;
18+
19+ // Assert
20+ Assert . Equal ( expected , actual ) ;
21+ }
22+
23+ [ Fact ]
24+ public void Average_Nullable ( )
25+ {
26+ // Arrange
27+ var list = new List < Entity > { new Entity { Value = 1 } , new Entity { Value = 2 } , new Entity { Value = null } } ;
28+ var queryable = list . AsQueryable ( ) ;
29+
30+
31+ // Act
32+ var expected = queryable . Average ( p => p . Value ) ;
33+ var actual = queryable . Average ( "Value" ) ;
34+
35+ // Assert
36+ Assert . Equal ( expected , actual ) ;
37+ }
38+
39+ [ Fact ]
40+ public void Average_Selector ( )
41+ {
42+ // Arrange
43+ var users = User . GenerateSampleModels ( 100 ) ;
44+
45+ // Act
46+ var expected = users . Average ( u => u . Income ) ;
47+ var result = users . AsQueryable ( ) . Average ( "Income" ) ;
48+
49+ // Assert
50+ Assert . Equal ( expected , result ) ;
51+ }
52+
53+ public class Entity
754 {
8- [ Fact ]
9- public void Average ( )
10- {
11- // Arrange
12- var incomes = User . GenerateSampleModels ( 100 ) . Select ( u => u . Income ) ;
13-
14- // Act
15- var expected = incomes . Average ( ) ;
16- var actual = incomes . AsQueryable ( ) . Average ( ) ;
17-
18- // Assert
19- Assert . Equal ( expected , actual ) ;
20- }
21-
22- [ Fact ]
23- public void Average_Selector ( )
24- {
25- // Arrange
26- var users = User . GenerateSampleModels ( 100 ) ;
27-
28- // Act
29- var expected = users . Average ( u => u . Income ) ;
30- var result = users . AsQueryable ( ) . Average ( "Income" ) ;
31-
32- // Assert
33- Assert . Equal ( expected , result ) ;
34- }
55+ public int ? Value { get ; set ; }
3556 }
36- }
57+ }
0 commit comments