Projekt

Obecné

Profil

Stáhnout (13.7 KB) Statistiky
| Větev: | Tag: | Revize:
1
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
namespace ServerAppFunctionalTests.ParserTests
10
{
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
}
(1-1/5)