Skip to content

Commit 029943f

Browse files
committed
Update unit-test
Linked to PR #47
1 parent b4c6728 commit 029943f

File tree

3 files changed

+50
-8
lines changed

3 files changed

+50
-8
lines changed

src/System.Linq.Dynamic.Core/project.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "1.0.6.1",
2+
"version": "1.0.6.2",
33
"title": "System.Linq.Dynamic.Core",
44
"description": "This is a .NET Core port of the the Microsoft assembly for the .Net 4.0 Dynamic language functionality.",
55
"authors": [ "Microsoft", "Scott Guthrie", "King Wilder", "Nathan Arnott", "Stef Heyenrath" ],
@@ -14,7 +14,7 @@
1414
},
1515
"projectUrl": "https://github.com/StefH/System.Linq.Dynamic.Core",
1616
"licenseUrl": "https://github.com/StefH/System.Linq.Dynamic.Core/blob/master/licence.txt",
17-
"releaseNotes": "Take() also accepts count=0"
17+
"releaseNotes": "Fix public methods access."
1818
},
1919

2020
"buildOptions": {

test/System.Linq.Dynamic.Core.Tests/ExpressionTests.cs

+37-5
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,46 @@ public void ExpressionTests_SkipAndTake()
6060
}
6161

6262
[Fact]
63-
public void ExpressionTests_Method()
63+
public void ExpressionTests_Method_NoParams()
6464
{
65-
var samples1 = User.GenerateSampleModels(3).AsQueryable();
66-
var samples2 = User.GenerateSampleModels(3).ToArray();
65+
// Arrange
66+
var users = User.GenerateSampleModels(3);
6767

68-
var result = samples1.Where("TestMethod(@0)", samples2);
68+
// Act
69+
var expected = users.Where(u => u.TestMethod1());
70+
var result = users.AsQueryable().Where("TestMethod1()");
71+
72+
// Assert
73+
Assert.Equal(expected.Count(), result.Count());
74+
}
75+
76+
[Fact]
77+
public void ExpressionTests_Method_OneParam_With_it()
78+
{
79+
// Arrange
80+
var users = User.GenerateSampleModels(3);
81+
82+
// Act
83+
var expected = users.Where(u => u.TestMethod2(u));
84+
var result = users.AsQueryable().Where("TestMethod2(it)");
85+
86+
// Assert
87+
Assert.Equal(expected.Count(), result.Count());
88+
}
89+
90+
[Fact]
91+
public void ExpressionTests_Method_OneParam_With_user()
92+
{
93+
// Arrange
94+
var users = User.GenerateSampleModels(10);
95+
var testUser = users[2];
96+
97+
// Act
98+
var expected = users.Where(u => u.TestMethod3(testUser));
99+
var result = users.AsQueryable().Where("TestMethod3(@0)", testUser);
69100

70-
Assert.Equal(samples1.Count(), result.Count());
101+
// Assert
102+
Assert.Equal(expected.Count(), result.Count());
71103
}
72104

73105
[Fact]

test/System.Linq.Dynamic.Core.Tests/Helpers/Models/User.cs

+11-1
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,21 @@ public class User
1616

1717
public List<Role> Roles { get; set; }
1818

19-
public bool TestMethod(User other)
19+
public bool TestMethod1()
2020
{
2121
return true;
2222
}
2323

24+
public bool TestMethod2(User other)
25+
{
26+
return true;
27+
}
28+
29+
public bool TestMethod3(User other)
30+
{
31+
return Id == other.Id;
32+
}
33+
2434
public static IList<User> GenerateSampleModels(int total, bool allowNullableProfiles = false)
2535
{
2636
var list = new List<User>();

0 commit comments

Comments
 (0)