-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathMysqlEntityTests.cs
154 lines (99 loc) · 4.48 KB
/
MysqlEntityTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
using System;
using Xunit;
using DataTablesParser;
using System.Linq;
using Microsoft.Extensions.Primitives;
namespace DataTablesParser.Tests
{
public class MysqlEntityTests
{
[Fact]
public void TotalRecordsTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var parser = new Parser<Person>(p, context.People);
Console.WriteLine("Mysql - Total People TotalRecordsTest: {0}",context.People.Count());
Assert.Equal(context.People.Count(),parser.Parse().recordsTotal);
}
[Fact]
public void TotalResultsTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var resultLength = 3;
//override display length
p[Constants.DISPLAY_LENGTH] = new StringValues(Convert.ToString(resultLength));
var parser = new Parser<Person>(p, context.People);
Console.WriteLine("Mysql - Total People TotalResultsTest: {0}",context.People.Count());
Assert.Equal(resultLength, parser.Parse().data.Count);
}
[Fact]
public void TotalDisplayTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var displayLength = 1;
//Set filter parameter
p[Constants.SEARCH_KEY] = new StringValues("Cromie");
var parser = new Parser<Person>(p, context.People);
Console.WriteLine("Mysql - Total People TotalDisplayTest: {0}",context.People.Count());
Assert.Equal(displayLength, parser.Parse().recordsFiltered);
}
[Fact]
public void TotalDisplayIndividualTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var displayLength = 1;
//Set filter parameter
p[Constants.SEARCH_KEY] = new StringValues("a");
p[Constants.GetKey(Constants.SEARCH_VALUE_PROPERTY_FORMAT, "1")] = "mmer";
var parser = new Parser<Person>(p, context.People);
Console.WriteLine("MySql - Total People TotalDisplayIndividualTest: {0}",context.People.Count());
Assert.Equal(displayLength, parser.Parse().recordsFiltered);
}
[Fact]
public void TotalDisplayIndividualMutiTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var displayLength = 1;
//Set filter parameter
p[Constants.SEARCH_KEY] = new StringValues("a");
p[Constants.GetKey(Constants.SEARCH_VALUE_PROPERTY_FORMAT, "0")] = "omie";
p[Constants.GetKey(Constants.SEARCH_VALUE_PROPERTY_FORMAT, "1")] = "mmer";
var parser = new Parser<Person>(p, context.People);
Console.WriteLine("MySql - Total People TotalDisplayIndividualMutiTest: {0}",context.People.Count());
Assert.Equal(displayLength, parser.Parse().recordsFiltered);
}
[Fact]
public void ResultsWhenSearchInNullColumnTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var displayLength = 1;
//Set filter parameter
p[Constants.SEARCH_KEY] = new StringValues("Xorie");
var parser = new Parser<Person>(p, context.People);
var result = parser.Parse().recordsFiltered;
Console.WriteLine("MySql - Search one row whe some columns are null: {0}", result);
Assert.Equal(displayLength, result);
}
[Fact]
public void AddCustomFilterTest()
{
var context = TestHelper.GetMysqlContext();
var p = TestHelper.CreateParams();
var displayLength = 2; // James and Tony
var parser = new Parser<Person>(p, context.People); // p is empty, all rows
var minDate = DateTime.Parse("1960-01-01");
var maxDate = DateTime.Parse("1970-01-01");
parser.AddCustomFilter(x => x.BirthDate >= minDate);
parser.AddCustomFilter(x => x.BirthDate < maxDate);
var result = parser.Parse().recordsFiltered;
Console.WriteLine("MySql - Search only born between 1960 and 1970: {0}", result);
Assert.Equal(displayLength, result);
}
}
}