trackler 2.0.6.7 → 2.0.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/csharp/exercises/difference-of-squares/DifferenceOfSquaresTest.cs +2 -2
- data/tracks/csharp/exercises/difference-of-squares/Example.cs +1 -1
- data/tracks/go/bin/test-without-stubs +3 -3
- data/tracks/go/config.json +6 -1
- data/tracks/go/{SETUP.md → exercises/TRACK_HINTS.md} +0 -0
- data/tracks/java/exercises/etl/src/test/java/EtlTest.java +4 -4
- data/tracks/pascal/config.json +9 -0
- data/tracks/pascal/exercises/saddle-points/TestSaddlePoints.dpr +60 -0
- data/tracks/pascal/exercises/saddle-points/uSaddlePointsExample.pas +131 -0
- data/tracks/pascal/exercises/saddle-points/uSaddlePointsTests.pas +161 -0
- data/tracks/pascal/img/Delphi-icon.png.keep +0 -0
- data/tracks/pascal/img/icon.png +0 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06eb068eafe08df34df6d6694c3addea1a148d25
|
4
|
+
data.tar.gz: 40fc285269f963be93d20e6aa3b6e88502f83713
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdc0498d9f33dea2d191d3b728f8f33fc0808f4cfc17413674440ef0a6352a7a6e50389df6c434a2e243b1a25e9e97f3eb5ed7ee74383079c55b9b5692cd7206
|
7
|
+
data.tar.gz: 720ef4ddced6739a38e22c33ff657e8ca0b14b019d4d7940a587b18b0ed7d22572d7010b83c7c72b43ca1a8b003ab0081a7ae88aa64059a892e2b60e143a5e77
|
data/lib/trackler/version.rb
CHANGED
@@ -75,8 +75,8 @@ public class DifferenceOfSquaresTests
|
|
75
75
|
|
76
76
|
[Ignore("Remove to run test")]
|
77
77
|
[Test]
|
78
|
-
public void
|
78
|
+
public void Test_negative_numbers_throw_argument_out_of_range_exception()
|
79
79
|
{
|
80
|
-
Assert.That(() => new Squares(-5), Throws.TypeOf<
|
80
|
+
Assert.That(() => new Squares(-5), Throws.TypeOf<ArgumentOutOfRangeException>());
|
81
81
|
}
|
82
82
|
}
|
@@ -10,7 +10,7 @@
|
|
10
10
|
# That way no maintainer will mistakenly commit the deleted files,
|
11
11
|
# which could otherwise happen after running tests locally.
|
12
12
|
|
13
|
-
for dir in exercises
|
13
|
+
for dir in exercises/*/; do
|
14
14
|
stub=$(echo $(basename $dir) | tr - _)
|
15
15
|
file="$dir/$stub.go"
|
16
16
|
if [ -f $file ]; then
|
@@ -39,7 +39,7 @@ cleanup () {
|
|
39
39
|
trap cleanup EXIT INT TERM
|
40
40
|
|
41
41
|
if [ "$1" = "fmt" ]; then
|
42
|
-
for dir in exercises
|
42
|
+
for dir in exercises/*/; do
|
43
43
|
cd $dir
|
44
44
|
if [ -n "$(go fmt)" ]; then
|
45
45
|
echo "please run 'go fmt' on $dir" >&2
|
@@ -51,7 +51,7 @@ if [ "$1" = "fmt" ]; then
|
|
51
51
|
fi
|
52
52
|
|
53
53
|
if [ "$1" = "vet" ]; then
|
54
|
-
for dir in exercises
|
54
|
+
for dir in exercises/*/; do
|
55
55
|
cd $dir
|
56
56
|
if ! go vet; then
|
57
57
|
echo "please follow the 'go vet' suggestions in $dir" >&2
|
data/tracks/go/config.json
CHANGED
File without changes
|
@@ -24,7 +24,7 @@ public class EtlTest {
|
|
24
24
|
};
|
25
25
|
expected = Collections.unmodifiableMap(expected);
|
26
26
|
|
27
|
-
assertEquals(etl.transform(old)
|
27
|
+
assertEquals(expected, etl.transform(old));
|
28
28
|
}
|
29
29
|
|
30
30
|
@Test
|
@@ -47,7 +47,7 @@ public class EtlTest {
|
|
47
47
|
};
|
48
48
|
expected = Collections.unmodifiableMap(expected);
|
49
49
|
|
50
|
-
assertEquals(etl.transform(old)
|
50
|
+
assertEquals(expected, etl.transform(old));
|
51
51
|
}
|
52
52
|
|
53
53
|
@Test
|
@@ -70,7 +70,7 @@ public class EtlTest {
|
|
70
70
|
};
|
71
71
|
expected = Collections.unmodifiableMap(expected);
|
72
72
|
|
73
|
-
assertEquals(etl.transform(old)
|
73
|
+
assertEquals(expected, etl.transform(old));
|
74
74
|
}
|
75
75
|
|
76
76
|
@Test
|
@@ -120,6 +120,6 @@ public class EtlTest {
|
|
120
120
|
};
|
121
121
|
expected = Collections.unmodifiableMap(expected);
|
122
122
|
|
123
|
-
assertEquals(etl.transform(old)
|
123
|
+
assertEquals(expected, etl.transform(old));
|
124
124
|
}
|
125
125
|
}
|
data/tracks/pascal/config.json
CHANGED
@@ -0,0 +1,60 @@
|
|
1
|
+
program TestSaddlePoints;
|
2
|
+
|
3
|
+
{$IFNDEF TESTINSIGHT}
|
4
|
+
{$APPTYPE CONSOLE}
|
5
|
+
{$ENDIF}{$STRONGLINKTYPES ON}
|
6
|
+
uses
|
7
|
+
System.SysUtils,
|
8
|
+
{$IFDEF TESTINSIGHT}
|
9
|
+
TestInsight.DUnitX,
|
10
|
+
{$ENDIF }
|
11
|
+
DUnitX.Loggers.Console,
|
12
|
+
DUnitX.Loggers.Xml.NUnit,
|
13
|
+
DUnitX.TestFramework,
|
14
|
+
uSaddlePointsTests in 'uSaddlePointsTests.pas',
|
15
|
+
uSaddlePoints in 'uSaddlePoints.pas';
|
16
|
+
|
17
|
+
var
|
18
|
+
runner : ITestRunner;
|
19
|
+
results : IRunResults;
|
20
|
+
logger : ITestLogger;
|
21
|
+
nunitLogger : ITestLogger;
|
22
|
+
begin
|
23
|
+
{$IFDEF TESTINSIGHT}
|
24
|
+
TestInsight.DUnitX.RunRegisteredTests;
|
25
|
+
exit;
|
26
|
+
{$ENDIF}
|
27
|
+
try
|
28
|
+
//Check command line options, will exit if invalid
|
29
|
+
TDUnitX.CheckCommandLine;
|
30
|
+
//Create the test runner
|
31
|
+
runner := TDUnitX.CreateRunner;
|
32
|
+
//Tell the runner to use RTTI to find Fixtures
|
33
|
+
runner.UseRTTI := True;
|
34
|
+
//tell the runner how we will log things
|
35
|
+
//Log to the console window
|
36
|
+
logger := TDUnitXConsoleLogger.Create(true);
|
37
|
+
runner.AddLogger(logger);
|
38
|
+
//Generate an NUnit compatible XML File
|
39
|
+
nunitLogger := TDUnitXXMLNUnitFileLogger.Create(TDUnitX.Options.XMLOutputFile);
|
40
|
+
runner.AddLogger(nunitLogger);
|
41
|
+
runner.FailsOnNoAsserts := False; //When true, Assertions must be made during tests;
|
42
|
+
|
43
|
+
//Run tests
|
44
|
+
results := runner.Execute;
|
45
|
+
if not results.AllPassed then
|
46
|
+
System.ExitCode := EXIT_ERRORS;
|
47
|
+
|
48
|
+
{$IFNDEF CI}
|
49
|
+
//We don't want this happening when running under CI.
|
50
|
+
if TDUnitX.Options.ExitBehavior = TDUnitXExitBehavior.Pause then
|
51
|
+
begin
|
52
|
+
System.Write('Done.. press <Enter> key to quit.');
|
53
|
+
System.Readln;
|
54
|
+
end;
|
55
|
+
{$ENDIF}
|
56
|
+
except
|
57
|
+
on E: Exception do
|
58
|
+
System.Writeln(E.ClassName, ': ', E.Message);
|
59
|
+
end;
|
60
|
+
end.
|
@@ -0,0 +1,131 @@
|
|
1
|
+
unit uSaddlePoints;
|
2
|
+
|
3
|
+
interface
|
4
|
+
uses uSaddlePointsTests;
|
5
|
+
|
6
|
+
type
|
7
|
+
ISaddlePoints = interface(IInvokable)
|
8
|
+
['{8C41B1A2-335D-4C6D-AF55-9F307F358227}']
|
9
|
+
function Calculate: TArray<TTuple<integer, integer>>;
|
10
|
+
function getStatus: string;
|
11
|
+
property ToString: string read getStatus;
|
12
|
+
end;
|
13
|
+
|
14
|
+
function newSaddlePoints(aValues: TArray<TArray<integer>>): ISaddlePoints;
|
15
|
+
|
16
|
+
implementation
|
17
|
+
uses SysUtils, Spring.Collections;
|
18
|
+
|
19
|
+
type
|
20
|
+
TSaddlePoints = class(TInterfacedObject, ISaddlePoints)
|
21
|
+
private
|
22
|
+
fValues: TArray<TArray<integer>>;
|
23
|
+
fmaxRows: TArray<integer>;
|
24
|
+
fminCols: TArray<integer>;
|
25
|
+
fStatus: string;
|
26
|
+
function getMaxRows: TArray<integer>;
|
27
|
+
function getMinColumns: TArray<integer>;
|
28
|
+
function Coordinates: IList<TTuple<integer, integer>>;
|
29
|
+
function ColumnCount: integer;
|
30
|
+
function RowCount: integer;
|
31
|
+
function IsSaddlePoint(const coordinate: TTuple<integer, integer>): boolean;
|
32
|
+
function getStatus: string;
|
33
|
+
public
|
34
|
+
constructor create(aValues: TArray<TArray<integer>>);
|
35
|
+
function Calculate: TArray<TTuple<integer, integer>>;
|
36
|
+
property ToString: string read getStatus;
|
37
|
+
end;
|
38
|
+
|
39
|
+
function newSaddlePoints(aValues: TArray<TArray<integer>>): ISaddlePoints;
|
40
|
+
begin
|
41
|
+
result := TSaddlePoints.create(aValues);
|
42
|
+
end;
|
43
|
+
|
44
|
+
constructor TSaddlePoints.create(aValues: TArray<TArray<Integer>>);
|
45
|
+
var I: integer;
|
46
|
+
J: integer;
|
47
|
+
begin
|
48
|
+
fValues := copy(aValues);
|
49
|
+
fmaxRows := getMaxRows;
|
50
|
+
fminCols := getMinColumns;
|
51
|
+
fStatus := 'Calculation not performed';
|
52
|
+
end;
|
53
|
+
|
54
|
+
function TSaddlePoints.getStatus: string;
|
55
|
+
begin
|
56
|
+
result := fStatus;
|
57
|
+
end;
|
58
|
+
|
59
|
+
function TSaddlePoints.getMaxRows: TArray<integer>;
|
60
|
+
var I: integer;
|
61
|
+
J: integer;
|
62
|
+
lRow: IList<integer>;
|
63
|
+
begin
|
64
|
+
lRow := TCollections.CreateList<integer>;
|
65
|
+
SetLength(result, RowCount);
|
66
|
+
for I := 0 to RowCount - 1 do
|
67
|
+
begin
|
68
|
+
for J := 0 to ColumnCount - 1 do
|
69
|
+
lRow.Add(fValues[I,J]);
|
70
|
+
result[I] := lRow.Max;
|
71
|
+
lRow.Clear;
|
72
|
+
end;
|
73
|
+
end;
|
74
|
+
|
75
|
+
function TSaddlePoints.getMinColumns: TArray<integer>;
|
76
|
+
var I: integer;
|
77
|
+
J: integer;
|
78
|
+
lColumn: IList<integer>;
|
79
|
+
begin
|
80
|
+
lColumn := TCollections.CreateList<integer>;
|
81
|
+
SetLength(result, ColumnCount);
|
82
|
+
for I := 0 to ColumnCount - 1 do
|
83
|
+
begin
|
84
|
+
for J := 0 to RowCount - 1 do
|
85
|
+
lColumn.Add(fValues[J,I]);
|
86
|
+
result[I] := lColumn.Min;
|
87
|
+
lColumn.Clear;
|
88
|
+
end;
|
89
|
+
end;
|
90
|
+
|
91
|
+
function TSaddlePoints.Coordinates: IList<TTuple<integer, integer>>;
|
92
|
+
var I, J: integer;
|
93
|
+
begin
|
94
|
+
result := TCollections.CreateList<TTuple<integer, integer>>;
|
95
|
+
for I := 0 to RowCount - 1 do
|
96
|
+
for J := 0 to ColumnCount - 1 do
|
97
|
+
result.Add(TTuple<integer, integer>.Create(I,J));
|
98
|
+
end;
|
99
|
+
|
100
|
+
function TSaddlePoints.Calculate: TArray<TTuple<integer, integer>>;
|
101
|
+
var lTuple: TTuple<integer, integer>;
|
102
|
+
begin
|
103
|
+
result := Coordinates.Where(IsSaddlePoint).ToArray;
|
104
|
+
if length(result) = 0 then
|
105
|
+
fStatus := 'No saddle points'
|
106
|
+
else
|
107
|
+
begin
|
108
|
+
fStatus := '';
|
109
|
+
for lTuple in result do
|
110
|
+
fStatus := fStatus + format('(%d,%d),',[lTuple.Value1, lTuple.Value2]);
|
111
|
+
fStatus := fStatus.Remove(fStatus.Length - 1);
|
112
|
+
end;
|
113
|
+
end;
|
114
|
+
|
115
|
+
function TSaddlePoints.ColumnCount: integer;
|
116
|
+
begin
|
117
|
+
result := length(fValues[1]);
|
118
|
+
end;
|
119
|
+
|
120
|
+
function TSaddlePoints.RowCount: integer;
|
121
|
+
begin
|
122
|
+
result := length(fValues);
|
123
|
+
end;
|
124
|
+
|
125
|
+
function TSaddlePoints.IsSaddlePoint(const coordinate: TTuple<integer, integer>): boolean;
|
126
|
+
begin
|
127
|
+
result := (fmaxRows[coordinate.Value1] = fValues[coordinate.Value1, coordinate.Value2]) and
|
128
|
+
(fminCols[coordinate.Value2] = fValues[coordinate.Value1, coordinate.Value2]);
|
129
|
+
end;
|
130
|
+
|
131
|
+
end.
|
@@ -0,0 +1,161 @@
|
|
1
|
+
unit uSaddlePointsTests;
|
2
|
+
|
3
|
+
interface
|
4
|
+
uses
|
5
|
+
DUnitX.TestFramework;
|
6
|
+
|
7
|
+
type
|
8
|
+
|
9
|
+
[TestFixture]
|
10
|
+
TSaddlePointTests = class(TObject)
|
11
|
+
public
|
12
|
+
[Test]
|
13
|
+
procedure Readme_example;
|
14
|
+
|
15
|
+
[Test]
|
16
|
+
[Ignore('Comment this line to run test')]
|
17
|
+
procedure No_saddle_point;
|
18
|
+
|
19
|
+
[Test]
|
20
|
+
[Ignore('Comment this line to run test')]
|
21
|
+
procedure Saddle_point;
|
22
|
+
|
23
|
+
[Test]
|
24
|
+
[Ignore('Comment this line to run test')]
|
25
|
+
procedure Another_saddle_point;
|
26
|
+
|
27
|
+
[Test]
|
28
|
+
[Ignore('Comment this line to run test')]
|
29
|
+
procedure Multiple_saddle_points;
|
30
|
+
|
31
|
+
[Test]
|
32
|
+
[Ignore('Comment this line to run test')]
|
33
|
+
procedure Five_by_five_matrix;
|
34
|
+
end;
|
35
|
+
|
36
|
+
TTuple<T1, T2> = record
|
37
|
+
private
|
38
|
+
fValue1: T1;
|
39
|
+
fValue2: T2;
|
40
|
+
public
|
41
|
+
constructor Create(Value1: T1; Value2: T2);
|
42
|
+
property Value1 : T1 read fValue1;
|
43
|
+
property Value2 : T2 read fValue2;
|
44
|
+
end;
|
45
|
+
|
46
|
+
implementation
|
47
|
+
uses uSaddlePoints;
|
48
|
+
|
49
|
+
constructor TTuple<T1, T2>.Create(Value1: T1; Value2: T2);
|
50
|
+
begin
|
51
|
+
fValue1 := Value1;
|
52
|
+
fValue2 := Value2;
|
53
|
+
end;
|
54
|
+
|
55
|
+
|
56
|
+
procedure TSaddlePointTests.Readme_example;
|
57
|
+
var SaddlePoints: ISaddlePoints;
|
58
|
+
values: TArray<TArray<integer>>;
|
59
|
+
expected: TArray<TTuple<integer,integer>>;
|
60
|
+
begin
|
61
|
+
SetLength(values, 3, 3);
|
62
|
+
values[0,0] := 9; values[0,1] := 8; values[0,2] := 7;
|
63
|
+
values[1,0] := 5; values[1,1] := 3; values[1,2] := 2;
|
64
|
+
values[2,0] := 6; values[2,1] := 6; values[2,2] := 7;
|
65
|
+
|
66
|
+
SaddlePoints := newSaddlePoints(values);
|
67
|
+
|
68
|
+
SetLength(expected, 1);
|
69
|
+
expected[0] := TTuple<integer,integer>.Create(1,0);
|
70
|
+
Assert.AreEqual(expected,SaddlePoints.Calculate);
|
71
|
+
end;
|
72
|
+
|
73
|
+
procedure TSaddlePointTests.No_saddle_point;
|
74
|
+
var SaddlePoints: ISaddlePoints;
|
75
|
+
values: TArray<TArray<integer>>;
|
76
|
+
expected: TArray<TTuple<integer,integer>>;
|
77
|
+
begin
|
78
|
+
SetLength(values, 2, 2);
|
79
|
+
values[0,0] := 2; values[0,1] := 1;
|
80
|
+
values[1,0] := 1; values[1,1] := 2;
|
81
|
+
|
82
|
+
SaddlePoints := newSaddlePoints(values);
|
83
|
+
|
84
|
+
SetLength(expected, 0);
|
85
|
+
Assert.AreEqual(expected,SaddlePoints.Calculate);
|
86
|
+
end;
|
87
|
+
|
88
|
+
procedure TSaddlePointTests.Saddle_point;
|
89
|
+
var SaddlePoints: ISaddlePoints;
|
90
|
+
values: TArray<TArray<integer>>;
|
91
|
+
expected: TArray<TTuple<integer,integer>>;
|
92
|
+
begin
|
93
|
+
SetLength(values, 2, 2);
|
94
|
+
values[0,0] := 1; values[0,1] := 2;
|
95
|
+
values[1,0] := 3; values[1,1] := 4;
|
96
|
+
|
97
|
+
SaddlePoints := newSaddlePoints(values);
|
98
|
+
|
99
|
+
SetLength(expected, 1);
|
100
|
+
expected[0] := TTuple<integer,integer>.Create(0,1);
|
101
|
+
Assert.AreEqual(expected,SaddlePoints.Calculate);
|
102
|
+
end;
|
103
|
+
|
104
|
+
procedure TSaddlePointTests.Another_saddle_point;
|
105
|
+
var SaddlePoints: ISaddlePoints;
|
106
|
+
values: TArray<TArray<integer>>;
|
107
|
+
expected: TArray<TTuple<integer,integer>>;
|
108
|
+
begin
|
109
|
+
SetLength(values, 3, 5);
|
110
|
+
values[0,0] := 18; values[0,1] := 3; values[0,2] := 39; values[0,3] := 19; values[0,4] := 91;
|
111
|
+
values[1,0] := 38; values[1,1] := 10; values[1,2] := 8; values[1,3] := 77; values[1,4] := 320;
|
112
|
+
values[2,0] := 3; values[2,1] := 4; values[2,2] := 8; values[2,3] := 6; values[2,4] := 7;
|
113
|
+
|
114
|
+
SaddlePoints := newSaddlePoints(values);
|
115
|
+
|
116
|
+
SetLength(expected, 1);
|
117
|
+
expected[0] := TTuple<integer,integer>.Create(2,2);
|
118
|
+
Assert.AreEqual(expected,SaddlePoints.Calculate);
|
119
|
+
end;
|
120
|
+
|
121
|
+
procedure TSaddlePointTests.Multiple_saddle_points;
|
122
|
+
var SaddlePoints: ISaddlePoints;
|
123
|
+
values: TArray<TArray<integer>>;
|
124
|
+
expected: TArray<TTuple<integer,integer>>;
|
125
|
+
begin
|
126
|
+
SetLength(values, 3, 3);
|
127
|
+
values[0,0] := 4; values[0,1] := 5; values[0,2] := 4;
|
128
|
+
values[1,0] := 3; values[1,1] := 5; values[1,2] := 5;
|
129
|
+
values[2,0] := 1; values[2,1] := 5; values[2,2] := 4;
|
130
|
+
|
131
|
+
SaddlePoints := newSaddlePoints(values);
|
132
|
+
|
133
|
+
SetLength(expected, 3);
|
134
|
+
expected[0] := TTuple<integer,integer>.Create(0,1);
|
135
|
+
expected[1] := TTuple<integer,integer>.Create(1,1);
|
136
|
+
expected[2] := TTuple<integer,integer>.Create(2,1);
|
137
|
+
Assert.AreEqual(expected,SaddlePoints.Calculate);
|
138
|
+
end;
|
139
|
+
|
140
|
+
procedure TSaddlePointTests.Five_by_five_matrix;
|
141
|
+
var SaddlePoints: ISaddlePoints;
|
142
|
+
values: TArray<TArray<integer>>;
|
143
|
+
expected: TArray<TTuple<integer,integer>>;
|
144
|
+
begin
|
145
|
+
SetLength(values, 5, 5);
|
146
|
+
values[0,0] := 34; values[0,1] := 21; values[0,2] := 61; values[0,3] := 41; values[0,4] := 25;
|
147
|
+
values[1,0] := 14; values[1,1] := 42; values[1,2] := 60; values[1,3] := 14; values[1,4] := 31;
|
148
|
+
values[2,0] := 54; values[2,1] := 45; values[2,2] := 55; values[2,3] := 42; values[2,4] := 23;
|
149
|
+
values[3,0] := 33; values[3,1] := 15; values[3,2] := 61; values[3,3] := 31; values[3,4] := 35;
|
150
|
+
values[4,0] := 21; values[4,1] := 52; values[4,2] := 63; values[4,3] := 13; values[4,4] := 23;
|
151
|
+
|
152
|
+
SaddlePoints := newSaddlePoints(values);
|
153
|
+
|
154
|
+
SetLength(expected, 1);
|
155
|
+
expected[0] := TTuple<integer,integer>.Create(2,2);
|
156
|
+
Assert.AreEqual(expected, SaddlePoints.Calculate);
|
157
|
+
end;
|
158
|
+
|
159
|
+
initialization
|
160
|
+
TDUnitX.RegisterTestFixture(TSaddlePointTests);
|
161
|
+
end.
|
Binary file
|
data/tracks/pascal/img/icon.png
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.6.
|
4
|
+
version: 2.0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -2654,7 +2654,6 @@ files:
|
|
2654
2654
|
- tracks/go/.travis.yml
|
2655
2655
|
- tracks/go/LICENSE
|
2656
2656
|
- tracks/go/README.md
|
2657
|
-
- tracks/go/SETUP.md
|
2658
2657
|
- tracks/go/bin/fetch-configlet
|
2659
2658
|
- tracks/go/bin/test-without-stubs
|
2660
2659
|
- tracks/go/config.json
|
@@ -2663,6 +2662,7 @@ files:
|
|
2663
2662
|
- tracks/go/docs/LEARNING.md
|
2664
2663
|
- tracks/go/docs/RESOURCES.md
|
2665
2664
|
- tracks/go/docs/TESTS.md
|
2665
|
+
- tracks/go/exercises/TRACK_HINTS.md
|
2666
2666
|
- tracks/go/exercises/accumulate/accumulate_test.go
|
2667
2667
|
- tracks/go/exercises/accumulate/example.go
|
2668
2668
|
- tracks/go/exercises/acronym/acronym_test.go
|
@@ -5138,7 +5138,11 @@ files:
|
|
5138
5138
|
- tracks/pascal/exercises/phone-number/PhoneNumberTests.dpr
|
5139
5139
|
- tracks/pascal/exercises/phone-number/uPhoneNumberExample.pas
|
5140
5140
|
- tracks/pascal/exercises/phone-number/uPhoneNumberTests.pas
|
5141
|
+
- tracks/pascal/exercises/saddle-points/TestSaddlePoints.dpr
|
5142
|
+
- tracks/pascal/exercises/saddle-points/uSaddlePointsExample.pas
|
5143
|
+
- tracks/pascal/exercises/saddle-points/uSaddlePointsTests.pas
|
5141
5144
|
- tracks/pascal/img/.keep
|
5145
|
+
- tracks/pascal/img/Delphi-icon.png.keep
|
5142
5146
|
- tracks/pascal/img/icon.png
|
5143
5147
|
- tracks/perl5/.git
|
5144
5148
|
- tracks/perl5/.gitignore
|