trackler 2.0.5.14 → 2.0.5.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/perfect-numbers/metadata.yml +1 -1
  3. data/lib/trackler/version.rb +1 -1
  4. data/tracks/csharp/config.json +17 -0
  5. data/tracks/csharp/exercises/exercises.csproj +1 -1
  6. data/tracks/csharp/exercises/react/Example.cs +124 -0
  7. data/tracks/csharp/exercises/react/HINTS.md +3 -0
  8. data/tracks/csharp/exercises/react/ReactTest.cs +121 -0
  9. data/tracks/csharp/exercises/tree-building/Example.cs +73 -0
  10. data/tracks/csharp/exercises/tree-building/TreeBuilding.cs +67 -0
  11. data/tracks/csharp/exercises/tree-building/TreeBuildingTest.cs +228 -0
  12. data/tracks/ecmascript/exercises/accumulate/package.json +1 -1
  13. data/tracks/ecmascript/exercises/acronym/package.json +1 -1
  14. data/tracks/ecmascript/exercises/all-your-base/package.json +1 -1
  15. data/tracks/ecmascript/exercises/allergies/package.json +1 -1
  16. data/tracks/ecmascript/exercises/anagram/package.json +1 -1
  17. data/tracks/ecmascript/exercises/atbash-cipher/package.json +1 -1
  18. data/tracks/ecmascript/exercises/beer-song/package.json +1 -1
  19. data/tracks/ecmascript/exercises/binary-search-tree/package.json +1 -1
  20. data/tracks/ecmascript/exercises/binary-search/package.json +1 -1
  21. data/tracks/ecmascript/exercises/binary/package.json +1 -1
  22. data/tracks/ecmascript/exercises/bob/package.json +1 -1
  23. data/tracks/ecmascript/exercises/bracket-push/package.json +1 -1
  24. data/tracks/ecmascript/exercises/circular-buffer/package.json +1 -1
  25. data/tracks/ecmascript/exercises/clock/package.json +1 -1
  26. data/tracks/ecmascript/exercises/crypto-square/package.json +1 -1
  27. data/tracks/ecmascript/exercises/custom-set/package.json +1 -1
  28. data/tracks/ecmascript/exercises/diamond/package.json +1 -1
  29. data/tracks/ecmascript/exercises/difference-of-squares/package.json +1 -1
  30. data/tracks/ecmascript/exercises/etl/package.json +1 -1
  31. data/tracks/ecmascript/exercises/food-chain/package.json +1 -1
  32. data/tracks/ecmascript/exercises/gigasecond/package.json +1 -1
  33. data/tracks/ecmascript/exercises/grade-school/package.json +1 -1
  34. data/tracks/ecmascript/exercises/grains/package.json +1 -1
  35. data/tracks/ecmascript/exercises/hamming/package.json +1 -1
  36. data/tracks/ecmascript/exercises/hello-world/package.json +1 -1
  37. data/tracks/ecmascript/exercises/hexadecimal/package.json +1 -1
  38. data/tracks/ecmascript/exercises/isogram/package.json +1 -1
  39. data/tracks/ecmascript/exercises/kindergarten-garden/package.json +1 -1
  40. data/tracks/ecmascript/exercises/largest-series-product/package.json +1 -1
  41. data/tracks/ecmascript/exercises/leap/package.json +1 -1
  42. data/tracks/ecmascript/exercises/linked-list/package.json +1 -1
  43. data/tracks/ecmascript/exercises/luhn/package.json +1 -1
  44. data/tracks/ecmascript/exercises/matrix/package.json +1 -1
  45. data/tracks/ecmascript/exercises/meetup/package.json +1 -1
  46. data/tracks/ecmascript/exercises/nth-prime/package.json +1 -1
  47. data/tracks/ecmascript/exercises/ocr-numbers/package.json +1 -1
  48. data/tracks/ecmascript/exercises/octal/package.json +1 -1
  49. data/tracks/ecmascript/exercises/palindrome-products/package.json +1 -1
  50. data/tracks/ecmascript/exercises/pangram/package.json +1 -1
  51. data/tracks/ecmascript/exercises/pascals-triangle/package.json +1 -1
  52. data/tracks/ecmascript/exercises/phone-number/package.json +1 -1
  53. data/tracks/ecmascript/exercises/pig-latin/package.json +1 -1
  54. data/tracks/ecmascript/exercises/prime-factors/package.json +1 -1
  55. data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +1 -1
  56. data/tracks/ecmascript/exercises/queen-attack/package.json +1 -1
  57. data/tracks/ecmascript/exercises/raindrops/package.json +1 -1
  58. data/tracks/ecmascript/exercises/rna-transcription/package.json +1 -1
  59. data/tracks/ecmascript/exercises/robot-name/package.json +1 -1
  60. data/tracks/ecmascript/exercises/robot-simulator/package.json +1 -1
  61. data/tracks/ecmascript/exercises/roman-numerals/package.json +1 -1
  62. data/tracks/ecmascript/exercises/saddle-points/package.json +1 -1
  63. data/tracks/ecmascript/exercises/say/package.json +1 -1
  64. data/tracks/ecmascript/exercises/scrabble-score/package.json +1 -1
  65. data/tracks/ecmascript/exercises/secret-handshake/package.json +1 -1
  66. data/tracks/ecmascript/exercises/series/package.json +1 -1
  67. data/tracks/ecmascript/exercises/sieve/package.json +1 -1
  68. data/tracks/ecmascript/exercises/simple-cipher/package.json +1 -1
  69. data/tracks/ecmascript/exercises/space-age/package.json +1 -1
  70. data/tracks/ecmascript/exercises/strain/package.json +1 -1
  71. data/tracks/ecmascript/exercises/sum-of-multiples/package.json +1 -1
  72. data/tracks/ecmascript/exercises/triangle/package.json +1 -1
  73. data/tracks/ecmascript/exercises/trinary/package.json +1 -1
  74. data/tracks/ecmascript/exercises/two-bucket/package.json +1 -1
  75. data/tracks/ecmascript/exercises/word-count/package.json +1 -1
  76. data/tracks/ecmascript/exercises/wordy/package.json +1 -1
  77. data/tracks/ecmascript/package.json +1 -1
  78. data/tracks/elixir/docs/ABOUT.md +1 -1
  79. data/tracks/haskell/config.json +6 -0
  80. data/tracks/haskell/exercises/run-length-encoding/examples/success-standard/package.yaml +16 -0
  81. data/tracks/haskell/exercises/run-length-encoding/examples/success-standard/src/RunLength.hs +21 -0
  82. data/tracks/haskell/exercises/run-length-encoding/package.yaml +19 -0
  83. data/tracks/haskell/exercises/run-length-encoding/src/RunLength.hs +7 -0
  84. data/tracks/haskell/exercises/run-length-encoding/stack.yaml +1 -0
  85. data/tracks/haskell/exercises/run-length-encoding/test/Tests.hs +75 -0
  86. data/tracks/javascript/config.json +8 -1
  87. data/tracks/javascript/exercises/run-length-encoding/example.js +11 -0
  88. data/tracks/javascript/exercises/run-length-encoding/run-length-encoding.spec.js +41 -0
  89. data/tracks/pascal/.gitignore +2 -0
  90. data/tracks/pascal/config.json +8 -8
  91. data/tracks/pascal/exercises/{Hello-World → hello-world}/uHelloWorldExample.pas +0 -0
  92. data/tracks/pascal/exercises/{Hello-World → hello-world}/uTestHelloWorld.pas +0 -0
  93. metadata +18 -36
  94. data/tracks/pascal/exercises/Hello-World/TestHelloWorld.dpr +0 -60
  95. data/tracks/pascal/exercises/Hello-World/TestHelloWorld.dproj +0 -176
  96. data/tracks/pascal/exercises/allergies/AllergyTests.dpr +0 -60
  97. data/tracks/pascal/exercises/allergies/AllergyTests.dproj +0 -176
  98. data/tracks/pascal/exercises/bank-account/BankAccountTests.dpr +0 -60
  99. data/tracks/pascal/exercises/bank-account/BankAccountTests.dproj +0 -176
  100. data/tracks/pascal/exercises/beer-song/BeerSongTests.dpr +0 -60
  101. data/tracks/pascal/exercises/beer-song/BeerSongTests.dproj +0 -176
  102. data/tracks/pascal/exercises/binary-search/BinarySearchTest.dpr +0 -60
  103. data/tracks/pascal/exercises/binary-search/BinarySearchTest.dproj +0 -176
  104. data/tracks/pascal/exercises/bob/BobTests.dpr +0 -60
  105. data/tracks/pascal/exercises/bob/BobTests.dproj +0 -176
  106. data/tracks/pascal/exercises/book-store/BookStoreTests.dpr +0 -60
  107. data/tracks/pascal/exercises/book-store/BookStoreTests.dproj +0 -176
  108. data/tracks/pascal/exercises/bowling/BowlingTests.dpr +0 -60
  109. data/tracks/pascal/exercises/bowling/BowlingTests.dproj +0 -176
  110. data/tracks/pascal/exercises/circular-buffer/CircularBufferTests.dpr +0 -60
  111. data/tracks/pascal/exercises/circular-buffer/CircularBufferTests.dproj +0 -176
  112. data/tracks/pascal/exercises/clock/ClockTest.dpr +0 -60
  113. data/tracks/pascal/exercises/clock/ClockTest.dproj +0 -176
  114. data/tracks/pascal/exercises/etl/ETLtests.dpr +0 -60
  115. data/tracks/pascal/exercises/etl/ETLtests.dproj +0 -176
  116. data/tracks/pascal/exercises/hamming/Hamming.dpr +0 -60
  117. data/tracks/pascal/exercises/hamming/Hamming.dproj +0 -176
  118. data/tracks/pascal/exercises/leap/LeapTest.dpr +0 -60
  119. data/tracks/pascal/exercises/leap/LeapTest.dproj +0 -176
  120. data/tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dpr +0 -60
  121. data/tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dproj +0 -176
  122. data/tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dpr +0 -60
  123. data/tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dproj +0 -176
  124. data/tracks/pascal/exercises/phone-number/PhoneNumberTests.dpr +0 -60
  125. data/tracks/pascal/exercises/phone-number/PhoneNumberTests.dproj +0 -176
@@ -0,0 +1,228 @@
1
+ using NUnit.Framework;
2
+
3
+ public class TreeBuildingTest
4
+ {
5
+ [Test]
6
+ public void One_node()
7
+ {
8
+ var records = new[]
9
+ {
10
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 }
11
+ };
12
+
13
+ var tree = TreeBuilder.BuildTree(records);
14
+
15
+ AssertTreeIsLeaf(tree, id: 0);
16
+ }
17
+
18
+ [Test]
19
+ public void Three_nodes_in_order()
20
+ {
21
+ var records = new[]
22
+ {
23
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
24
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
25
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 }
26
+ };
27
+
28
+ var tree = TreeBuilder.BuildTree(records);
29
+
30
+ AssertTreeIsBranch(tree, id: 0, childCount: 2);
31
+ AssertTreeIsLeaf(tree.Children[0], id: 1);
32
+ AssertTreeIsLeaf(tree.Children[1], id: 2);
33
+ }
34
+
35
+ [Test]
36
+ public void Three_nodes_in_reverse_order()
37
+ {
38
+ var records = new[]
39
+ {
40
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
41
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
42
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 }
43
+ };
44
+
45
+ var tree = TreeBuilder.BuildTree(records);
46
+
47
+ AssertTreeIsBranch(tree, id: 0, childCount: 2);
48
+ AssertTreeIsLeaf(tree.Children[0], id: 1);
49
+ AssertTreeIsLeaf(tree.Children[1], id: 2);
50
+ }
51
+
52
+ [Test]
53
+ public void More_than_two_children()
54
+ {
55
+ var records = new[]
56
+ {
57
+ new TreeBuildingRecord { RecordId = 3, ParentId = 0 },
58
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
59
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
60
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 }
61
+ };
62
+
63
+ var tree = TreeBuilder.BuildTree(records);
64
+
65
+ AssertTreeIsBranch(tree, id: 0, childCount: 3);
66
+ AssertTreeIsLeaf(tree.Children[0], id: 1);
67
+ AssertTreeIsLeaf(tree.Children[1], id: 2);
68
+ AssertTreeIsLeaf(tree.Children[2], id: 3);
69
+ }
70
+
71
+ [Test]
72
+ public void Binary_tree()
73
+ {
74
+ var records = new[]
75
+ {
76
+ new TreeBuildingRecord { RecordId = 5, ParentId = 1 },
77
+ new TreeBuildingRecord { RecordId = 3, ParentId = 2 },
78
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
79
+ new TreeBuildingRecord { RecordId = 4, ParentId = 1 },
80
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
81
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
82
+ new TreeBuildingRecord { RecordId = 6, ParentId = 2 }
83
+ };
84
+
85
+ var tree = TreeBuilder.BuildTree(records);
86
+
87
+ AssertTreeIsBranch(tree, id: 0, childCount: 2);
88
+ AssertTreeIsBranch(tree.Children[0], id: 1, childCount: 2);
89
+ AssertTreeIsBranch(tree.Children[1], id: 2, childCount: 2);
90
+
91
+ AssertTreeIsLeaf(tree.Children[0].Children[0], id: 4);
92
+ AssertTreeIsLeaf(tree.Children[0].Children[1], id: 5);
93
+ AssertTreeIsLeaf(tree.Children[1].Children[0], id: 3);
94
+ AssertTreeIsLeaf(tree.Children[1].Children[1], id: 6);
95
+ }
96
+
97
+ [Test]
98
+ public void Unbalanced_tree()
99
+ {
100
+ var records = new[]
101
+ {
102
+ new TreeBuildingRecord { RecordId = 5, ParentId = 2 },
103
+ new TreeBuildingRecord { RecordId = 3, ParentId = 2 },
104
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
105
+ new TreeBuildingRecord { RecordId = 4, ParentId = 1 },
106
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
107
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
108
+ new TreeBuildingRecord { RecordId = 6, ParentId = 2 }
109
+ };
110
+
111
+ var tree = TreeBuilder.BuildTree(records);
112
+
113
+ AssertTreeIsBranch(tree, id: 0, childCount: 2);
114
+ AssertTreeIsBranch(tree.Children[0], id: 1, childCount: 1);
115
+ AssertTreeIsBranch(tree.Children[1], id: 2, childCount: 3);
116
+
117
+ AssertTreeIsLeaf(tree.Children[0].Children[0], id: 4);
118
+ AssertTreeIsLeaf(tree.Children[1].Children[0], id: 3);
119
+ AssertTreeIsLeaf(tree.Children[1].Children[1], id: 5);
120
+ AssertTreeIsLeaf(tree.Children[1].Children[2], id: 6);
121
+ }
122
+
123
+ [Test]
124
+ public void Empty_input()
125
+ {
126
+ var records = new TreeBuildingRecord[0];
127
+
128
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
129
+ }
130
+
131
+ [Test]
132
+ public void Root_node_has_parent()
133
+ {
134
+ var records = new[]
135
+ {
136
+ new TreeBuildingRecord { RecordId = 0, ParentId = 1 },
137
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 }
138
+ };
139
+
140
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
141
+ }
142
+
143
+ [Test]
144
+ public void No_root_node()
145
+ {
146
+ var records = new[]
147
+ {
148
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 }
149
+ };
150
+
151
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
152
+ }
153
+
154
+
155
+ [Test]
156
+ public void Non_continuous()
157
+ {
158
+ var records = new[]
159
+ {
160
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
161
+ new TreeBuildingRecord { RecordId = 4, ParentId = 2 },
162
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
163
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 }
164
+ };
165
+
166
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
167
+ }
168
+
169
+ [Test]
170
+ public void Cycle_directly()
171
+ {
172
+ var records = new[]
173
+ {
174
+ new TreeBuildingRecord { RecordId = 5, ParentId = 2 },
175
+ new TreeBuildingRecord { RecordId = 3, ParentId = 2 },
176
+ new TreeBuildingRecord { RecordId = 2, ParentId = 2 },
177
+ new TreeBuildingRecord { RecordId = 4, ParentId = 1 },
178
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
179
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
180
+ new TreeBuildingRecord { RecordId = 6, ParentId = 3 }
181
+ };
182
+
183
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
184
+ }
185
+
186
+ [Test]
187
+ public void Cycle_indirectly()
188
+ {
189
+ var records = new[]
190
+ {
191
+ new TreeBuildingRecord { RecordId = 5, ParentId = 2 },
192
+ new TreeBuildingRecord { RecordId = 3, ParentId = 2 },
193
+ new TreeBuildingRecord { RecordId = 2, ParentId = 6 },
194
+ new TreeBuildingRecord { RecordId = 4, ParentId = 1 },
195
+ new TreeBuildingRecord { RecordId = 1, ParentId = 0 },
196
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
197
+ new TreeBuildingRecord { RecordId = 6, ParentId = 3 }
198
+ };
199
+
200
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
201
+ }
202
+
203
+ [Test]
204
+ public void Higher_id_parent_of_lower_id()
205
+ {
206
+ var records = new[]
207
+ {
208
+ new TreeBuildingRecord { RecordId = 0, ParentId = 0 },
209
+ new TreeBuildingRecord { RecordId = 2, ParentId = 0 },
210
+ new TreeBuildingRecord { RecordId = 1, ParentId = 2 }
211
+ };
212
+
213
+ Assert.That(() => TreeBuilder.BuildTree(records), Throws.Exception);
214
+ }
215
+
216
+ private static void AssertTreeIsBranch(Tree tree, int id, int childCount)
217
+ {
218
+ Assert.That(tree.Id, Is.EqualTo(id));
219
+ Assert.That(tree.IsLeaf, Is.False);
220
+ Assert.That(tree.Children.Count, Is.EqualTo(childCount));
221
+ }
222
+
223
+ private static void AssertTreeIsLeaf(Tree tree, int id)
224
+ {
225
+ Assert.That(tree.Id, Is.EqualTo(id));
226
+ Assert.That(tree.IsLeaf, Is.True);
227
+ }
228
+ }
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "gulp": "~3.9.0",
15
15
  "gulp-babel": "~5.3.0",
16
16
  "gulp-eslint": "^1.1.0",
17
- "gulp-jasmine": "~2.0.1",
17
+ "gulp-jasmine": "~2.4.2",
18
18
  "yargs": "~3.27.0"
19
19
  },
20
20
  "scripts": {