Projekt

Obecné

Profil

Stáhnout (13.7 KB) Statistiky
| Větev: | Tag: | Revize:
1 8a243ab2 A-Konig
using Microsoft.VisualStudio.TestTools.UnitTesting;
2
using System;
3
using ServerApp.Parser.Parsers;
4
using System.Collections.Generic;
5
using ServerApp.Parser.OutputInfo;
6
using Moq;
7
using ServerApp.Parser.InputData;
8
9 847434c6 Roman Kalivoda
namespace ServerAppFunctionalTests.ParserTests
10 8a243ab2 A-Konig
{
11
    /// <summary>
12
    /// Summary description for WeatherParserTesting
13
    /// </summary>
14
    [TestClass]
15
    public class JisParserTesting
16
    {
17
18
19
        #region Jis parser
20
21
        #region Parse days
22
        [TestMethod]
23
        public void ParseJisDayOne()
24
        {
25
            TagInfo.CreateDictionaries();
26
27
            string path = "";
28
            List<JisInstance> data = new List<JisInstance>();
29
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
30
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 10, 0, 0), 3));
31
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
32
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
33
34
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
35
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
36
37
            JisParser target = new JisParser(dl.Object);
38
            PrivateObject obj = new PrivateObject(target);
39
40
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsDays", path, new DateTime(2000, 1, 1), new DateTime(2001, 1, 1));
41
42
            Assert.AreEqual(2, retVal.Count);
43
            Assert.AreEqual(new ActivityInfo("MENZA", 3, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[0]);
44
            Assert.AreEqual(new ActivityInfo("KARMA", 5, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[1]);
45
        }
46
47
        [TestMethod]
48
        public void ParseJisDayOneFiltering()
49
        {
50
            TagInfo.CreateDictionaries();
51
52
            string path = "";
53
            List<JisInstance> data = new List<JisInstance>();
54
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 6, 0, 0), 2));
55
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
56
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 10, 0, 0), 3));
57
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
58
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
59
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 17, 0, 0), 2));
60
61
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
62
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
63
64
            JisParser target = new JisParser(dl.Object);
65
            PrivateObject obj = new PrivateObject(target);
66
67
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsDays", path, new DateTime(2000, 1, 1), new DateTime(2000, 1, 1, 16, 0, 0));
68
69
            Assert.AreEqual(2, retVal.Count);
70
            Assert.AreEqual(new ActivityInfo("MENZA", 3, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[0]);
71
            Assert.AreEqual(new ActivityInfo("KARMA", 5, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[1]);
72
        }
73
74
        [TestMethod]
75
        public void ParseJisDayTwo()
76
        {
77
            TagInfo.CreateDictionaries();
78
79
            string path = "";
80
            List<JisInstance> data = new List<JisInstance>();
81
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
82
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 10, 0, 0), 3));
83
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
84
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
85
86
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 2, 1, 8, 0, 0), 8));
87
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 2, 1, 12, 0, 0), 2));
88
            data.Add(new JisInstance("A2", new DateTime(2000, 2, 1, 16, 0, 0), 1));
89
90
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
91
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
92
93
            JisParser target = new JisParser(dl.Object);
94
            PrivateObject obj = new PrivateObject(target);
95
96
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsDays", path, new DateTime(2000, 1, 1), new DateTime(2000, 2, 1, 16, 0, 0));
97
98
            Assert.AreEqual(4, retVal.Count);
99
            Assert.AreEqual(new ActivityInfo("MENZA", 3, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[0]);
100
            Assert.AreEqual(new ActivityInfo("KARMA", 5, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[1]);
101
102
            Assert.AreEqual(new ActivityInfo("MENZA", 10, new DateTime(2000, 2, 1, 7, 0, 0), 18 - 7), retVal[2]);
103
            Assert.AreEqual(new ActivityInfo("KARMA", 1, new DateTime(2000, 2, 1, 7, 0, 0), 18 - 7), retVal[3]);
104
        }
105
106
        [TestMethod]
107
        public void ParseJisDayTwoFiltering()
108
        {
109
            TagInfo.CreateDictionaries();
110
111
            string path = "";
112
            List<JisInstance> data = new List<JisInstance>();
113
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 6, 0, 0), 2));
114
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
115
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 10, 0, 0), 3));
116
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
117
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
118
119
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 2, 1, 8, 0, 0), 8));
120
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 2, 1, 12, 0, 0), 2));
121
            data.Add(new JisInstance("A2", new DateTime(2000, 2, 1, 16, 0, 0), 1));
122
            data.Add(new JisInstance("A2", new DateTime(2000, 2, 1, 17, 0, 0), 2));
123
124
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
125
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
126
127
            JisParser target = new JisParser(dl.Object);
128
            PrivateObject obj = new PrivateObject(target);
129
130
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsDays", path, new DateTime(2000, 1, 1), new DateTime(2000, 2, 1, 16, 0, 0));
131
132
            Assert.AreEqual(4, retVal.Count);
133
            Assert.AreEqual(new ActivityInfo("MENZA", 3, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[0]);
134
            Assert.AreEqual(new ActivityInfo("KARMA", 5, new DateTime(2000, 1, 1, 7, 0, 0), 18 - 7), retVal[1]);
135
136
            Assert.AreEqual(new ActivityInfo("MENZA", 10, new DateTime(2000, 2, 1, 7, 0, 0), 18 - 7), retVal[2]);
137
            Assert.AreEqual(new ActivityInfo("KARMA", 1, new DateTime(2000, 2, 1, 7, 0, 0), 18 - 7), retVal[3]);
138
        }
139
140
141
        [TestMethod]
142
        public void ParseJisDayNone()
143
        {
144
            TagInfo.CreateDictionaries();
145
146
            string path = "";
147
            List<JisInstance> data = new List<JisInstance>();
148
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
149
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 10, 0, 0), 3));
150
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
151
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
152
153
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 2, 15, 0, 0), 2));
154
155
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
156
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
157
158
            JisParser target = new JisParser(dl.Object);
159
            PrivateObject obj = new PrivateObject(target);
160
161
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsDays", path, new DateTime(2000, 1, 3), new DateTime(2001, 1, 1));
162
163
            Assert.AreEqual(0, retVal.Count);
164
        }
165
        #endregion
166
167
        #region Parse hours
168
        [TestMethod]
169
        public void ParseJisHourlyOne()
170
        {
171
            TagInfo.CreateDictionaries();
172
173
            string path = "";
174
            List<JisInstance> data = new List<JisInstance>();
175
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
176
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 0, 0), 3));
177
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 15, 0), 3));
178
179
            /*
180
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 5));
181
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 12, 0, 0), 1));
182
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 15, 0, 0), 2));
183
            */
184
185
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
186
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
187
188
            JisParser target = new JisParser(dl.Object);
189
            PrivateObject obj = new PrivateObject(target);
190
191
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsIntervals", path, 2, new DateTime(2000, 1, 1), new DateTime(2001, 1, 1));
192
193
            Assert.AreEqual(2, retVal.Count);
194
            Assert.AreEqual(new ActivityInfo("MENZA", 2, new DateTime(2000, 1, 1, 7, 0, 0), 2), retVal[0]);
195
            Assert.AreEqual(new ActivityInfo("KARMA", 6, new DateTime(2000, 1, 1, 7, 0, 0), 2), retVal[1]);
196
        }
197
198
        [TestMethod]
199
        public void ParseJisDayHourlyMultiple()
200
        {
201
            TagInfo.CreateDictionaries();
202
203
            string path = "";
204
            List<JisInstance> data = new List<JisInstance>();
205
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 7, 0, 0), 2));
206
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 0, 0), 3));
207
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 15, 0), 3));
208
209
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 11, 0, 0), 5));
210
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 11, 10, 0), 1));
211
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 11, 20, 0), 2));
212
213
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
214
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
215
216
            JisParser target = new JisParser(dl.Object);
217
            PrivateObject obj = new PrivateObject(target);
218
219
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsIntervals", path, 2, new DateTime(2000, 1, 1), new DateTime(2001, 1, 1));
220
221
            Assert.AreEqual(4, retVal.Count);
222
            Assert.AreEqual(new ActivityInfo("MENZA", 2, new DateTime(2000, 1, 1, 7, 0, 0), 2), retVal[0]);
223
            Assert.AreEqual(new ActivityInfo("KARMA", 6, new DateTime(2000, 1, 1, 7, 0, 0), 2), retVal[1]);
224
            Assert.AreEqual(new ActivityInfo("MENZA", 6, new DateTime(2000, 1, 1, 11, 0, 0), 2), retVal[2]);
225
            Assert.AreEqual(new ActivityInfo("KARMA", 2, new DateTime(2000, 1, 1, 11, 0, 0), 2), retVal[3]);
226
        }
227
228
        [TestMethod]
229
        public void ParseJisHourlyNone()
230
        {
231
            TagInfo.CreateDictionaries();
232
233
            string path = "";
234
            List<JisInstance> data = new List<JisInstance>();
235
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 3, 0, 0), 2));
236
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 4, 0, 0), 3));
237
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 5, 15, 0), 3));
238
239
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 19, 0, 0), 5));
240
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 19, 10, 0), 1));
241
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 19, 20, 0), 2));
242
243
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
244
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
245
246
            JisParser target = new JisParser(dl.Object);
247
            PrivateObject obj = new PrivateObject(target);
248
249
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsIntervals", path, 2, new DateTime(2000, 1, 1), new DateTime(2001, 1, 1));
250
251
            Assert.AreEqual(0, retVal.Count);
252
        }
253
254
        [TestMethod]
255
        public void ParseJisHourlyFiltering()
256
        {
257
            TagInfo.CreateDictionaries();
258
259
            string path = "";
260
            List<JisInstance> data = new List<JisInstance>();
261
            data.Add(new JisInstance("MenzaKL-vydej", new DateTime(2000, 1, 1, 6, 0, 0), 2));
262
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 0, 0), 3));
263
            data.Add(new JisInstance("A2-Hlavni vchod", new DateTime(2000, 1, 1, 8, 15, 0), 3));
264
265
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 11, 0, 0), 5));
266
            data.Add(new JisInstance("Menza4-kasa5", new DateTime(2000, 1, 1, 18, 10, 0), 1));
267
            data.Add(new JisInstance("A1", new DateTime(2000, 1, 1, 19, 20, 0), 2));
268
269
            Mock<IDataLoader> dl = new Mock<IDataLoader>();
270
            dl.Setup(m => m.LoadJisFile(path)).Returns(data);
271
272
            JisParser target = new JisParser(dl.Object);
273
            PrivateObject obj = new PrivateObject(target);
274
275
            List<ActivityInfo> retVal = (List<ActivityInfo>)obj.Invoke("ProcessOneJisFileAsIntervals", path, 2, new DateTime(2000, 1, 1), new DateTime(2001, 1, 1));
276
277
            Assert.AreEqual(3, retVal.Count);
278
            Assert.AreEqual(new ActivityInfo("KARMA", 6, new DateTime(2000, 1, 1, 7, 0, 0), 2), retVal[0]);
279
            Assert.AreEqual(new ActivityInfo("MENZA", 5, new DateTime(2000, 1, 1, 11, 0, 0), 2), retVal[1]);
280
            Assert.AreEqual(new ActivityInfo("MENZA", 1, new DateTime(2000, 1, 1, 17, 0, 0), 2), retVal[2]);
281
        }
282
        #endregion
283
284
        #endregion
285
286
    }
287
}