trackler 2.0.6.23 → 2.0.6.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -3
  3. data/lib/trackler/version.rb +1 -1
  4. data/tracks/{pascal → delphi}/.gitignore +0 -0
  5. data/tracks/{pascal → delphi}/.travis.yml +0 -0
  6. data/tracks/{pascal → delphi}/LICENSE +0 -0
  7. data/tracks/{pascal → delphi}/README.md +0 -0
  8. data/tracks/{pascal → delphi}/SETUP.md +0 -0
  9. data/tracks/{pascal → delphi}/bin/fetch-configlet +0 -0
  10. data/tracks/{pascal → delphi}/config.json +0 -0
  11. data/tracks/{pascal → delphi}/docs/ABOUT.md +0 -0
  12. data/tracks/{pascal → delphi}/docs/INSTALLATION.md +0 -0
  13. data/tracks/{pascal → delphi}/docs/LEARNING.md +0 -0
  14. data/tracks/{pascal → delphi}/docs/RESOURCES.md +0 -0
  15. data/tracks/{pascal → delphi}/docs/TESTS.md +0 -0
  16. data/tracks/{pascal → delphi}/docs/img/00delphiwelcomepage.png +0 -0
  17. data/tracks/{pascal → delphi}/docs/img/00delphiwelcomepageLogo.png +0 -0
  18. data/tracks/{pascal → delphi}/docs/img/01delphiclicktools.png +0 -0
  19. data/tracks/{pascal → delphi}/docs/img/02delphiclickoptions.png +0 -0
  20. data/tracks/{pascal → delphi}/docs/img/03delphioptionsenvironmentvariables.png +0 -0
  21. data/tracks/{pascal → delphi}/docs/img/03delphioptionsenvironmentvariablesLogo.png +0 -0
  22. data/tracks/{pascal → delphi}/docs/img/04delphioptionsenvironmentvariablesclicknew.png +0 -0
  23. data/tracks/{pascal → delphi}/docs/img/05delphinewuservariable.png +0 -0
  24. data/tracks/{pascal → delphi}/docs/img/06delphioptionslibrary.png +0 -0
  25. data/tracks/{pascal → delphi}/docs/img/06delphioptionslibraryLogo.png +0 -0
  26. data/tracks/{pascal → delphi}/docs/img/07delphiclicklibrarypathbutton.png +0 -0
  27. data/tracks/{pascal → delphi}/docs/img/07delphiclicklibrarypathbuttonLogo.png +0 -0
  28. data/tracks/{pascal → delphi}/docs/img/08delphidirectoriesinputvarnameclickadd.png +0 -0
  29. data/tracks/{pascal → delphi}/docs/img/09delphidirectoriesclickok.png +0 -0
  30. data/tracks/{pascal → delphi}/exercises/.keep +0 -0
  31. data/tracks/{pascal → delphi}/exercises/allergies/AllergyTests.dpr +0 -0
  32. data/tracks/{pascal → delphi}/exercises/allergies/uAllergiesExample.pas +0 -0
  33. data/tracks/{pascal → delphi}/exercises/allergies/uAllergyTests.pas +0 -0
  34. data/tracks/{pascal → delphi}/exercises/bank-account/BankAccountTests.dpr +0 -0
  35. data/tracks/{pascal → delphi}/exercises/bank-account/uBankAccountExample.pas +0 -0
  36. data/tracks/{pascal → delphi}/exercises/bank-account/uBankAccountTests.pas +0 -0
  37. data/tracks/{pascal → delphi}/exercises/beer-song/BeerSongTests.dpr +0 -0
  38. data/tracks/{pascal → delphi}/exercises/beer-song/uBeerSongExample.pas +0 -0
  39. data/tracks/{pascal → delphi}/exercises/beer-song/uBeerSongTests.pas +0 -0
  40. data/tracks/{pascal → delphi}/exercises/binary-search/BinarySearchTest.dpr +0 -0
  41. data/tracks/{pascal → delphi}/exercises/binary-search/uBinarySearchExample.pas +0 -0
  42. data/tracks/{pascal → delphi}/exercises/binary-search/uBinarySearchTest.pas +0 -0
  43. data/tracks/{pascal → delphi}/exercises/bob/BobTests.dpr +0 -0
  44. data/tracks/{pascal → delphi}/exercises/bob/uBobExample.pas +0 -0
  45. data/tracks/{pascal → delphi}/exercises/bob/uBobTests.pas +0 -0
  46. data/tracks/{pascal → delphi}/exercises/book-store/BookStoreTests.dpr +0 -0
  47. data/tracks/{pascal → delphi}/exercises/book-store/uBookStoreExample.pas +0 -0
  48. data/tracks/{pascal → delphi}/exercises/book-store/uBookStoreTests.pas +0 -0
  49. data/tracks/{pascal → delphi}/exercises/bowling/BowlingTests.dpr +0 -0
  50. data/tracks/{pascal → delphi}/exercises/bowling/uBowlingExample.pas +0 -0
  51. data/tracks/{pascal → delphi}/exercises/bowling/uBowlingTests.pas +0 -0
  52. data/tracks/{pascal → delphi}/exercises/circular-buffer/CircularBufferTests.dpr +0 -0
  53. data/tracks/{pascal → delphi}/exercises/circular-buffer/uCircularBufferExample.pas +0 -0
  54. data/tracks/{pascal → delphi}/exercises/circular-buffer/uCircularBufferTests.pas +0 -0
  55. data/tracks/{pascal → delphi}/exercises/clock/ClockTest.dpr +0 -0
  56. data/tracks/{pascal → delphi}/exercises/clock/uClockExample.pas +0 -0
  57. data/tracks/{pascal → delphi}/exercises/clock/uClockTest.pas +0 -0
  58. data/tracks/{pascal → delphi}/exercises/etl/ETLtests.dpr +0 -0
  59. data/tracks/{pascal → delphi}/exercises/etl/uETLexample.pas +0 -0
  60. data/tracks/{pascal → delphi}/exercises/etl/uETLtests.pas +0 -0
  61. data/tracks/{pascal → delphi}/exercises/grains/GrainsTests.dpr +0 -0
  62. data/tracks/{pascal → delphi}/exercises/grains/uGrainsExample.pas +0 -0
  63. data/tracks/{pascal → delphi}/exercises/grains/uGrainsTests.pas +0 -0
  64. data/tracks/{pascal → delphi}/exercises/hamming/Hamming.dpr +0 -0
  65. data/tracks/{pascal → delphi}/exercises/hamming/uHammingExample.pas +0 -0
  66. data/tracks/{pascal → delphi}/exercises/hamming/uHammingTests.pas +0 -0
  67. data/tracks/{pascal → delphi}/exercises/hello-world/TestHelloWorld.dpr +0 -0
  68. data/tracks/{pascal → delphi}/exercises/hello-world/uHelloWorldExample.pas +0 -0
  69. data/tracks/{pascal → delphi}/exercises/hello-world/uTestHelloWorld.pas +0 -0
  70. data/tracks/{pascal → delphi}/exercises/leap/LeapTest.dpr +0 -0
  71. data/tracks/{pascal → delphi}/exercises/leap/uLeapExample.pas +0 -0
  72. data/tracks/{pascal → delphi}/exercises/leap/uLeapTests.pas +0 -0
  73. data/tracks/{pascal → delphi}/exercises/nucleotide-count/NucleotideCountTest.dpr +0 -0
  74. data/tracks/{pascal → delphi}/exercises/nucleotide-count/uNucleotideCountExample.pas +0 -0
  75. data/tracks/{pascal → delphi}/exercises/nucleotide-count/uNucleotideCountTest.pas +0 -0
  76. data/tracks/{pascal → delphi}/exercises/perfect-numbers/PerfectNumbersTest.dpr +0 -0
  77. data/tracks/{pascal → delphi}/exercises/perfect-numbers/uPerfectNumbersExample.pas +0 -0
  78. data/tracks/{pascal → delphi}/exercises/perfect-numbers/uPerfectNumbersTest.pas +0 -0
  79. data/tracks/{pascal → delphi}/exercises/phone-number/PhoneNumberTests.dpr +0 -0
  80. data/tracks/{pascal → delphi}/exercises/phone-number/uPhoneNumberExample.pas +0 -0
  81. data/tracks/{pascal → delphi}/exercises/phone-number/uPhoneNumberTests.pas +0 -0
  82. data/tracks/{pascal → delphi}/exercises/saddle-points/TestSaddlePoints.dpr +0 -0
  83. data/tracks/{pascal → delphi}/exercises/saddle-points/uSaddlePointsExample.pas +0 -0
  84. data/tracks/{pascal → delphi}/exercises/saddle-points/uSaddlePointsTests.pas +0 -0
  85. data/tracks/{pascal → delphi}/img/.keep +0 -0
  86. data/tracks/{pascal → delphi}/img/icon.png +0 -0
  87. data/tracks/java/README.md +1 -1
  88. data/tracks/java/config.json +7 -1
  89. data/tracks/java/exercises/flatten-array/build.gradle +17 -0
  90. data/tracks/java/exercises/flatten-array/src/example/java/Flattener.java +28 -0
  91. data/tracks/java/exercises/flatten-array/src/main/java/Flattener.java +5 -0
  92. data/tracks/java/exercises/flatten-array/src/test/java/FlattenerTest.java +123 -0
  93. data/tracks/java/exercises/settings.gradle +1 -0
  94. metadata +89 -85
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9cf87d7b9dd56a6a58b3c1d87d9a23ef21f730d8
4
- data.tar.gz: eb35ab1854d690d7fc64b61977fe31f29d3735c5
3
+ metadata.gz: 1593ab1497280369f87b146bd439ac70f6444464
4
+ data.tar.gz: e3bae8d94adb9fece37d61af04b768e9703da439
5
5
  SHA512:
6
- metadata.gz: fa2bf7b5e78b0ae76d088865728a0703ff112c64841abcc5eb621e9bfc76b367ff3c247d27788c990034c6e9af98a64d7cb2862c4c2a881189b41d909bb6c6b3
7
- data.tar.gz: 967886a22857e8f2e2bebb00ffd20a2ed6102c649a66f9e555a76524dbaf63371fd83239697bee6866cc0fd69858bd7f66c644e5e006cb2d72a672df800685b7
6
+ metadata.gz: 161368be3060fe113c81dc82849060a1508eb83a7f7453a54f0d74ec0f7ba99ecc75bb2ef6d020fb34863e062b57d292b07c9f4a127e9827215a93251317b210
7
+ data.tar.gz: 696e7f43996b7a9f0dc09ef87d90bc10f7c19541b2ee97484319fab8a4769b52ac9607a78d1b858f3fb33c1a30ffaaeda35e805ec157d2f3779c85b99603b9bf
data/.gitmodules CHANGED
@@ -157,12 +157,12 @@
157
157
  [submodule "common"]
158
158
  path = common
159
159
  url = https://github.com/exercism/x-common.git
160
- [submodule "tracks/pascal"]
161
- path = tracks/pascal
162
- url = https://github.com/exercism/xpascal.git
163
160
  [submodule "tracks/prolog"]
164
161
  path = tracks/prolog
165
162
  url = https://github.com/exercism/xprolog.git
166
163
  [submodule "tracks/julia"]
167
164
  path = tracks/julia
168
165
  url = https://github.com/exercism/xjulia
166
+ [submodule "tracks/delphi"]
167
+ path = tracks/delphi
168
+ url = https://github.com/exercism/xdelphi
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.0.6.23"
2
+ VERSION = "2.0.6.24"
3
3
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -62,7 +62,7 @@ There are two objectives to the design of this build:
62
62
  1. when a problem is built from within the xjava repo, the tests run against the "example" code (i.e. when you, the contributor, are developing the exercise);
63
63
  2. when a problem is built outside the xjava repo (when a participant is solving the exercise), the tests run against the "main" code.
64
64
 
65
- This repo is a mulit-project gradle build.
65
+ This repo is a multi-project gradle build.
66
66
 
67
67
  ### The `exercises` Module
68
68
 
@@ -59,7 +59,8 @@
59
59
  "rectangles",
60
60
  "matrix",
61
61
  "diamond",
62
- "secret-handshake"
62
+ "secret-handshake",
63
+ "flatten-array"
63
64
  ],
64
65
  "exercises": [
65
66
  {
@@ -341,6 +342,11 @@
341
342
  "slug": "secret-handshake",
342
343
  "difficulty": 1,
343
344
  "topics": []
345
+ },
346
+ {
347
+ "slug": "flatten-array",
348
+ "difficulty": 1,
349
+ "topics": []
344
350
  }
345
351
  ],
346
352
  "deprecated": [
@@ -0,0 +1,17 @@
1
+ apply plugin: "java"
2
+ apply plugin: "eclipse"
3
+ apply plugin: "idea"
4
+
5
+ repositories {
6
+ mavenCentral()
7
+ }
8
+
9
+ dependencies {
10
+ testCompile "junit:junit:4.12"
11
+ }
12
+ test {
13
+ testLogging {
14
+ exceptionFormat = 'full'
15
+ events = ["passed", "failed", "skipped"]
16
+ }
17
+ }
@@ -0,0 +1,28 @@
1
+ import java.util.ArrayList;
2
+ import java.util.Collections;
3
+ import java.util.List;
4
+
5
+ final class Flattener {
6
+
7
+ List flatten(final List nestedList) {
8
+ if (nestedList.isEmpty()) {
9
+ return new ArrayList<>();
10
+ } else {
11
+ final List result = new ArrayList();
12
+
13
+ final Object head = nestedList.get(0);
14
+ final List tail = nestedList.subList(1, nestedList.size());
15
+
16
+ if (head instanceof List) {
17
+ result.addAll(flatten((List) head));
18
+ } else {
19
+ result.add(head);
20
+ }
21
+
22
+ result.addAll(flatten(tail));
23
+ result.removeAll(Collections.singleton(null));
24
+ return result;
25
+ }
26
+ }
27
+
28
+ }
@@ -0,0 +1,5 @@
1
+ final class Flattener {
2
+
3
+
4
+
5
+ }
@@ -0,0 +1,123 @@
1
+ import org.junit.Before;
2
+ import org.junit.Test;
3
+
4
+ import static java.util.Arrays.asList;
5
+ import static java.util.Collections.emptyList;
6
+ import static java.util.Collections.singletonList;
7
+ import static org.junit.Assert.assertEquals;
8
+
9
+ public final class FlattenerTest {
10
+
11
+ private Flattener flattener;
12
+
13
+ @Before
14
+ public void setUp() {
15
+ flattener = new Flattener();
16
+ }
17
+
18
+ @Test
19
+ public void testASingleLevelOfNestingWithNoNulls() {
20
+ assertEquals(
21
+ asList(1, '2', 3, 4, 5, "six", "7", 8),
22
+ flattener.flatten(
23
+ asList(
24
+ 1,
25
+ asList(
26
+ '2',
27
+ 3,
28
+ 4,
29
+ 5,
30
+ "six",
31
+ "7"),
32
+ 8)));
33
+ }
34
+
35
+ @Test
36
+ public void testFiveLevelsOfNestingWithNoNulls() {
37
+ assertEquals(
38
+ asList(0, '2', 2, "three", '8', 100, "four", 50, "-2"),
39
+ flattener.flatten(
40
+ asList(
41
+ 0,
42
+ '2',
43
+ asList(
44
+ asList(
45
+ 2,
46
+ "three"),
47
+ '8',
48
+ 100,
49
+ "four",
50
+ singletonList(
51
+ singletonList(
52
+ singletonList(
53
+ 50)))),
54
+ "-2")));
55
+ }
56
+
57
+ @Test
58
+ public void testSixLevelsOfNestingWithNoNulls() {
59
+ assertEquals(
60
+ asList("one", '2', 3, '4', 5, "six", 7, "8"),
61
+ flattener.flatten(
62
+ asList(
63
+ "one",
64
+ asList(
65
+ '2',
66
+ singletonList(
67
+ singletonList(
68
+ 3)),
69
+ asList(
70
+ '4',
71
+ singletonList(
72
+ singletonList(
73
+ 5))),
74
+ "six",
75
+ 7),
76
+ "8")));
77
+ }
78
+
79
+ @Test
80
+ public void testSixLevelsOfNestingWithNulls() {
81
+ assertEquals(
82
+ asList("0", 2, "two", '3', "8", "one hundred", "negative two"),
83
+ flattener.flatten(
84
+ asList(
85
+ "0",
86
+ 2,
87
+ asList(
88
+ asList(
89
+ "two",
90
+ '3'),
91
+ "8",
92
+ singletonList(
93
+ singletonList(
94
+ "one hundred")),
95
+ null,
96
+ singletonList(
97
+ singletonList(
98
+ null))),
99
+ "negative two")));
100
+ }
101
+
102
+ @Test
103
+ public void testNestedListsFullOfNullsOnly() {
104
+ assertEquals(
105
+ emptyList(),
106
+ flattener.flatten(
107
+ asList(
108
+ null,
109
+ singletonList(
110
+ singletonList(
111
+ singletonList(
112
+ null))),
113
+ null,
114
+ null,
115
+ asList(
116
+ asList(
117
+ null,
118
+ null),
119
+ null),
120
+ null)));
121
+ }
122
+
123
+ }
@@ -15,6 +15,7 @@ include 'custom-set'
15
15
  include 'diamond'
16
16
  include 'difference-of-squares'
17
17
  include 'etl'
18
+ include 'flatten-array'
18
19
  include 'gigasecond'
19
20
  include 'grade-school'
20
21
  include 'hamming'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6.23
4
+ version: 2.0.6.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
@@ -1543,6 +1543,90 @@ files:
1543
1543
  - tracks/csharp/img/icon.png
1544
1544
  - tracks/csharp/paket.dependencies
1545
1545
  - tracks/csharp/paket.lock
1546
+ - tracks/delphi/.git
1547
+ - tracks/delphi/.gitignore
1548
+ - tracks/delphi/.travis.yml
1549
+ - tracks/delphi/LICENSE
1550
+ - tracks/delphi/README.md
1551
+ - tracks/delphi/SETUP.md
1552
+ - tracks/delphi/bin/fetch-configlet
1553
+ - tracks/delphi/config.json
1554
+ - tracks/delphi/docs/ABOUT.md
1555
+ - tracks/delphi/docs/INSTALLATION.md
1556
+ - tracks/delphi/docs/LEARNING.md
1557
+ - tracks/delphi/docs/RESOURCES.md
1558
+ - tracks/delphi/docs/TESTS.md
1559
+ - tracks/delphi/docs/img/00delphiwelcomepage.png
1560
+ - tracks/delphi/docs/img/00delphiwelcomepageLogo.png
1561
+ - tracks/delphi/docs/img/01delphiclicktools.png
1562
+ - tracks/delphi/docs/img/02delphiclickoptions.png
1563
+ - tracks/delphi/docs/img/03delphioptionsenvironmentvariables.png
1564
+ - tracks/delphi/docs/img/03delphioptionsenvironmentvariablesLogo.png
1565
+ - tracks/delphi/docs/img/04delphioptionsenvironmentvariablesclicknew.png
1566
+ - tracks/delphi/docs/img/05delphinewuservariable.png
1567
+ - tracks/delphi/docs/img/06delphioptionslibrary.png
1568
+ - tracks/delphi/docs/img/06delphioptionslibraryLogo.png
1569
+ - tracks/delphi/docs/img/07delphiclicklibrarypathbutton.png
1570
+ - tracks/delphi/docs/img/07delphiclicklibrarypathbuttonLogo.png
1571
+ - tracks/delphi/docs/img/08delphidirectoriesinputvarnameclickadd.png
1572
+ - tracks/delphi/docs/img/09delphidirectoriesclickok.png
1573
+ - tracks/delphi/exercises/.keep
1574
+ - tracks/delphi/exercises/allergies/AllergyTests.dpr
1575
+ - tracks/delphi/exercises/allergies/uAllergiesExample.pas
1576
+ - tracks/delphi/exercises/allergies/uAllergyTests.pas
1577
+ - tracks/delphi/exercises/bank-account/BankAccountTests.dpr
1578
+ - tracks/delphi/exercises/bank-account/uBankAccountExample.pas
1579
+ - tracks/delphi/exercises/bank-account/uBankAccountTests.pas
1580
+ - tracks/delphi/exercises/beer-song/BeerSongTests.dpr
1581
+ - tracks/delphi/exercises/beer-song/uBeerSongExample.pas
1582
+ - tracks/delphi/exercises/beer-song/uBeerSongTests.pas
1583
+ - tracks/delphi/exercises/binary-search/BinarySearchTest.dpr
1584
+ - tracks/delphi/exercises/binary-search/uBinarySearchExample.pas
1585
+ - tracks/delphi/exercises/binary-search/uBinarySearchTest.pas
1586
+ - tracks/delphi/exercises/bob/BobTests.dpr
1587
+ - tracks/delphi/exercises/bob/uBobExample.pas
1588
+ - tracks/delphi/exercises/bob/uBobTests.pas
1589
+ - tracks/delphi/exercises/book-store/BookStoreTests.dpr
1590
+ - tracks/delphi/exercises/book-store/uBookStoreExample.pas
1591
+ - tracks/delphi/exercises/book-store/uBookStoreTests.pas
1592
+ - tracks/delphi/exercises/bowling/BowlingTests.dpr
1593
+ - tracks/delphi/exercises/bowling/uBowlingExample.pas
1594
+ - tracks/delphi/exercises/bowling/uBowlingTests.pas
1595
+ - tracks/delphi/exercises/circular-buffer/CircularBufferTests.dpr
1596
+ - tracks/delphi/exercises/circular-buffer/uCircularBufferExample.pas
1597
+ - tracks/delphi/exercises/circular-buffer/uCircularBufferTests.pas
1598
+ - tracks/delphi/exercises/clock/ClockTest.dpr
1599
+ - tracks/delphi/exercises/clock/uClockExample.pas
1600
+ - tracks/delphi/exercises/clock/uClockTest.pas
1601
+ - tracks/delphi/exercises/etl/ETLtests.dpr
1602
+ - tracks/delphi/exercises/etl/uETLexample.pas
1603
+ - tracks/delphi/exercises/etl/uETLtests.pas
1604
+ - tracks/delphi/exercises/grains/GrainsTests.dpr
1605
+ - tracks/delphi/exercises/grains/uGrainsExample.pas
1606
+ - tracks/delphi/exercises/grains/uGrainsTests.pas
1607
+ - tracks/delphi/exercises/hamming/Hamming.dpr
1608
+ - tracks/delphi/exercises/hamming/uHammingExample.pas
1609
+ - tracks/delphi/exercises/hamming/uHammingTests.pas
1610
+ - tracks/delphi/exercises/hello-world/TestHelloWorld.dpr
1611
+ - tracks/delphi/exercises/hello-world/uHelloWorldExample.pas
1612
+ - tracks/delphi/exercises/hello-world/uTestHelloWorld.pas
1613
+ - tracks/delphi/exercises/leap/LeapTest.dpr
1614
+ - tracks/delphi/exercises/leap/uLeapExample.pas
1615
+ - tracks/delphi/exercises/leap/uLeapTests.pas
1616
+ - tracks/delphi/exercises/nucleotide-count/NucleotideCountTest.dpr
1617
+ - tracks/delphi/exercises/nucleotide-count/uNucleotideCountExample.pas
1618
+ - tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas
1619
+ - tracks/delphi/exercises/perfect-numbers/PerfectNumbersTest.dpr
1620
+ - tracks/delphi/exercises/perfect-numbers/uPerfectNumbersExample.pas
1621
+ - tracks/delphi/exercises/perfect-numbers/uPerfectNumbersTest.pas
1622
+ - tracks/delphi/exercises/phone-number/PhoneNumberTests.dpr
1623
+ - tracks/delphi/exercises/phone-number/uPhoneNumberExample.pas
1624
+ - tracks/delphi/exercises/phone-number/uPhoneNumberTests.pas
1625
+ - tracks/delphi/exercises/saddle-points/TestSaddlePoints.dpr
1626
+ - tracks/delphi/exercises/saddle-points/uSaddlePointsExample.pas
1627
+ - tracks/delphi/exercises/saddle-points/uSaddlePointsTests.pas
1628
+ - tracks/delphi/img/.keep
1629
+ - tracks/delphi/img/icon.png
1546
1630
  - tracks/dlang/.git
1547
1631
  - tracks/dlang/.gitignore
1548
1632
  - tracks/dlang/.travis.yml
@@ -3659,6 +3743,10 @@ files:
3659
3743
  - tracks/java/exercises/etl/src/example/java/Etl.java
3660
3744
  - tracks/java/exercises/etl/src/main/java/Etl.java
3661
3745
  - tracks/java/exercises/etl/src/test/java/EtlTest.java
3746
+ - tracks/java/exercises/flatten-array/build.gradle
3747
+ - tracks/java/exercises/flatten-array/src/example/java/Flattener.java
3748
+ - tracks/java/exercises/flatten-array/src/main/java/Flattener.java
3749
+ - tracks/java/exercises/flatten-array/src/test/java/FlattenerTest.java
3662
3750
  - tracks/java/exercises/gigasecond/build.gradle
3663
3751
  - tracks/java/exercises/gigasecond/src/example/java/Gigasecond.java
3664
3752
  - tracks/java/exercises/gigasecond/src/main/java/.keep
@@ -5215,90 +5303,6 @@ files:
5215
5303
  - tracks/ocaml/tools/test-generator/test/template_test.ml
5216
5304
  - tracks/ocaml/tools/test-generator/test/utils_test.ml
5217
5305
  - tracks/ocaml/tools/test-generator/test/with-methods-key.json
5218
- - tracks/pascal/.git
5219
- - tracks/pascal/.gitignore
5220
- - tracks/pascal/.travis.yml
5221
- - tracks/pascal/LICENSE
5222
- - tracks/pascal/README.md
5223
- - tracks/pascal/SETUP.md
5224
- - tracks/pascal/bin/fetch-configlet
5225
- - tracks/pascal/config.json
5226
- - tracks/pascal/docs/ABOUT.md
5227
- - tracks/pascal/docs/INSTALLATION.md
5228
- - tracks/pascal/docs/LEARNING.md
5229
- - tracks/pascal/docs/RESOURCES.md
5230
- - tracks/pascal/docs/TESTS.md
5231
- - tracks/pascal/docs/img/00delphiwelcomepage.png
5232
- - tracks/pascal/docs/img/00delphiwelcomepageLogo.png
5233
- - tracks/pascal/docs/img/01delphiclicktools.png
5234
- - tracks/pascal/docs/img/02delphiclickoptions.png
5235
- - tracks/pascal/docs/img/03delphioptionsenvironmentvariables.png
5236
- - tracks/pascal/docs/img/03delphioptionsenvironmentvariablesLogo.png
5237
- - tracks/pascal/docs/img/04delphioptionsenvironmentvariablesclicknew.png
5238
- - tracks/pascal/docs/img/05delphinewuservariable.png
5239
- - tracks/pascal/docs/img/06delphioptionslibrary.png
5240
- - tracks/pascal/docs/img/06delphioptionslibraryLogo.png
5241
- - tracks/pascal/docs/img/07delphiclicklibrarypathbutton.png
5242
- - tracks/pascal/docs/img/07delphiclicklibrarypathbuttonLogo.png
5243
- - tracks/pascal/docs/img/08delphidirectoriesinputvarnameclickadd.png
5244
- - tracks/pascal/docs/img/09delphidirectoriesclickok.png
5245
- - tracks/pascal/exercises/.keep
5246
- - tracks/pascal/exercises/allergies/AllergyTests.dpr
5247
- - tracks/pascal/exercises/allergies/uAllergiesExample.pas
5248
- - tracks/pascal/exercises/allergies/uAllergyTests.pas
5249
- - tracks/pascal/exercises/bank-account/BankAccountTests.dpr
5250
- - tracks/pascal/exercises/bank-account/uBankAccountExample.pas
5251
- - tracks/pascal/exercises/bank-account/uBankAccountTests.pas
5252
- - tracks/pascal/exercises/beer-song/BeerSongTests.dpr
5253
- - tracks/pascal/exercises/beer-song/uBeerSongExample.pas
5254
- - tracks/pascal/exercises/beer-song/uBeerSongTests.pas
5255
- - tracks/pascal/exercises/binary-search/BinarySearchTest.dpr
5256
- - tracks/pascal/exercises/binary-search/uBinarySearchExample.pas
5257
- - tracks/pascal/exercises/binary-search/uBinarySearchTest.pas
5258
- - tracks/pascal/exercises/bob/BobTests.dpr
5259
- - tracks/pascal/exercises/bob/uBobExample.pas
5260
- - tracks/pascal/exercises/bob/uBobTests.pas
5261
- - tracks/pascal/exercises/book-store/BookStoreTests.dpr
5262
- - tracks/pascal/exercises/book-store/uBookStoreExample.pas
5263
- - tracks/pascal/exercises/book-store/uBookStoreTests.pas
5264
- - tracks/pascal/exercises/bowling/BowlingTests.dpr
5265
- - tracks/pascal/exercises/bowling/uBowlingExample.pas
5266
- - tracks/pascal/exercises/bowling/uBowlingTests.pas
5267
- - tracks/pascal/exercises/circular-buffer/CircularBufferTests.dpr
5268
- - tracks/pascal/exercises/circular-buffer/uCircularBufferExample.pas
5269
- - tracks/pascal/exercises/circular-buffer/uCircularBufferTests.pas
5270
- - tracks/pascal/exercises/clock/ClockTest.dpr
5271
- - tracks/pascal/exercises/clock/uClockExample.pas
5272
- - tracks/pascal/exercises/clock/uClockTest.pas
5273
- - tracks/pascal/exercises/etl/ETLtests.dpr
5274
- - tracks/pascal/exercises/etl/uETLexample.pas
5275
- - tracks/pascal/exercises/etl/uETLtests.pas
5276
- - tracks/pascal/exercises/grains/GrainsTests.dpr
5277
- - tracks/pascal/exercises/grains/uGrainsExample.pas
5278
- - tracks/pascal/exercises/grains/uGrainsTests.pas
5279
- - tracks/pascal/exercises/hamming/Hamming.dpr
5280
- - tracks/pascal/exercises/hamming/uHammingExample.pas
5281
- - tracks/pascal/exercises/hamming/uHammingTests.pas
5282
- - tracks/pascal/exercises/hello-world/TestHelloWorld.dpr
5283
- - tracks/pascal/exercises/hello-world/uHelloWorldExample.pas
5284
- - tracks/pascal/exercises/hello-world/uTestHelloWorld.pas
5285
- - tracks/pascal/exercises/leap/LeapTest.dpr
5286
- - tracks/pascal/exercises/leap/uLeapExample.pas
5287
- - tracks/pascal/exercises/leap/uLeapTests.pas
5288
- - tracks/pascal/exercises/nucleotide-count/NucleotideCountTest.dpr
5289
- - tracks/pascal/exercises/nucleotide-count/uNucleotideCountExample.pas
5290
- - tracks/pascal/exercises/nucleotide-count/uNucleotideCountTest.pas
5291
- - tracks/pascal/exercises/perfect-numbers/PerfectNumbersTest.dpr
5292
- - tracks/pascal/exercises/perfect-numbers/uPerfectNumbersExample.pas
5293
- - tracks/pascal/exercises/perfect-numbers/uPerfectNumbersTest.pas
5294
- - tracks/pascal/exercises/phone-number/PhoneNumberTests.dpr
5295
- - tracks/pascal/exercises/phone-number/uPhoneNumberExample.pas
5296
- - tracks/pascal/exercises/phone-number/uPhoneNumberTests.pas
5297
- - tracks/pascal/exercises/saddle-points/TestSaddlePoints.dpr
5298
- - tracks/pascal/exercises/saddle-points/uSaddlePointsExample.pas
5299
- - tracks/pascal/exercises/saddle-points/uSaddlePointsTests.pas
5300
- - tracks/pascal/img/.keep
5301
- - tracks/pascal/img/icon.png
5302
5306
  - tracks/perl5/.git
5303
5307
  - tracks/perl5/.gitignore
5304
5308
  - tracks/perl5/.travis.yml