trackler 2.2.1.18 → 2.2.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b38ae6d8516dd187b9f0fba21283c9736c8c5fb4
4
- data.tar.gz: 95ab4593a96107ba91aa766aa1bf6679f1d43270
3
+ metadata.gz: ffca3efc88204131068d7531852c74f211110f51
4
+ data.tar.gz: b432f11924ff28ccfdedfdbd58c295fbe1a3798d
5
5
  SHA512:
6
- metadata.gz: 26bf3c4e1004c4e8ff1ded81043ca7795e5e4ee4c4fe224e7bccb763d140db80d43745ab47c3e066ca5a6b41d03f9038b26c01d74aa2b17ed0beff6c7630ec67
7
- data.tar.gz: aca1b722e8f3ec0f75160c4441a9d4075732802b4559de1741e7cf072076d0b50ccd7e7ed45764b13d6deda8abd7f57282cc7a2d0f3f452b47479ecf3c2d83a4
6
+ metadata.gz: d6325615d58891ae4a2f7ce058c9cb936cffc101fd871d2990ab904ce38e6125b477fdbd095c060973a5c13f1e8fcb4dc35d743427a70c6218f34adfcda4d4d2
7
+ data.tar.gz: 68dfb3831457408fd456c85d9c9bd089b5efa537e66592d75d07da9082c2c4893c7ed6b3dc1685a9107687a88a92de9d4cd4824081069af1bfb0c338a7d400b1
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.18"
2
+ VERSION = "2.2.1.19"
3
3
  end
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ echo "Hello, World!"
@@ -1,11 +1,7 @@
1
1
  #include <stdio.h>
2
- #include <stddef.h>
3
2
  #include "hello_world.h"
4
3
 
5
4
  void hello(char *buffer, const char *name)
6
5
  {
7
- if (name == NULL)
8
- name = "World";
9
-
10
- sprintf(buffer, "Hello, %s!", name);
6
+ sprintf(buffer, "Hello, %s!", name ? name : "World");
11
7
  }
@@ -403,16 +403,22 @@
403
403
  ]
404
404
  },
405
405
  {
406
- "difficulty": 3,
406
+ "uuid": "ba4e0186-0389-af80-d3e4-695dfc4e63bff1fa503",
407
407
  "slug": "atbash-cipher",
408
+ "core": false,
409
+ "unlocked_by": null,
410
+ "difficulty": 3,
408
411
  "topics": [
409
412
  "strings",
410
413
  "algorithms"
411
414
  ]
412
415
  },
413
416
  {
414
- "difficulty": 3,
417
+ "uuid": "ce9fd8ac-0beb-1a80-4ff6-be19ce1540d905c31b7",
415
418
  "slug": "bracket-push",
419
+ "core": false,
420
+ "unlocked_by": null,
421
+ "difficulty": 3,
416
422
  "topics": [
417
423
  "pattern matching",
418
424
  "stacks"
@@ -0,0 +1,10 @@
1
+ #include "hello_world.h"
2
+
3
+ namespace hello_world {
4
+
5
+ std::string hello()
6
+ {
7
+ return "Hello, World!";
8
+ }
9
+
10
+ }
@@ -2,3 +2,5 @@
2
2
  .DS_Store
3
3
  bin/configlet
4
4
  bin/configlet.exe
5
+ .apl.history
6
+ *.log
@@ -1,6 +1,14 @@
1
1
  {
2
2
  "maintainers": [
3
-
3
+ {
4
+ "github_username": "marnen",
5
+ "show_on_website": true,
6
+ "alumnus": false,
7
+ "name": "Marnen Laibow-Koser",
8
+ "bio": "I started learning APL out of general interest, realized there was no Exercism track, and decided to make one!",
9
+ "link_text": "My Website",
10
+ "link_url": "http://www.marnen.org"
11
+ }
4
12
  ],
5
13
  "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
6
14
  }
@@ -2,9 +2,22 @@
2
2
  "track_id": "gnu-apl",
3
3
  "language": "GNU APL",
4
4
  "active": false,
5
- "test_pattern": "TODO",
5
+ "test_pattern": "\\.tc$",
6
6
  "exercises": [
7
-
7
+ {
8
+ "uuid": "81121f0c-1218-4d88-bb6c-fd9df3bc0b8d",
9
+ "slug": "hello-world",
10
+ "core": true,
11
+ "difficulty": 1,
12
+ "topics": ["setup"]
13
+ },
14
+ {
15
+ "uuid": "9a89822e-0d61-f980-49fa-c273c0a0e0869b9fc7f",
16
+ "slug": "leap",
17
+ "core": true,
18
+ "difficulty": 1,
19
+ "topics": ["conditions", "dates"]
20
+ }
8
21
  ],
9
22
  "deprecated": [
10
23
 
@@ -0,0 +1,5 @@
1
+ #
2
+
3
+
4
+ ## Submitting Incomplete Solutions
5
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env apl --script
2
+
3
+ ∇z←hello
4
+ z←'Hello, World!'
5
+
6
+
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env apl --script
2
+
3
+ ∇z←hello
4
+ ⍝ YOUR CODE GOES HERE
5
+
@@ -0,0 +1,13 @@
1
+ log←'./hello-world.tc.log'
2
+ ⍎ ')COPY ',(⎕FIO 30),'/../../test.apl'
3
+
4
+ test∆copy_relative 'hello-world.apl'
5
+ test∆clear_log log
6
+
7
+ ⍝ ∇hello
8
+
9
+ ⍝ it returns 'Hello, World!'
10
+ 1⎕CR hello
11
+ 'Hello, World!'
12
+
13
+ test∆show_log log
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env apl --script
2
+
3
+ ∇z←leap_year year
4
+ z←(~×400|year)∨∧/0 1=×4 100|year
5
+
@@ -0,0 +1,25 @@
1
+ log←'./leap.tc.log'
2
+ ⍎ ')COPY ',(⎕FIO 30),'/../../test.apl'
3
+
4
+ test∆copy_relative 'leap.apl'
5
+ test∆clear_log log
6
+
7
+ ⍝ ∇leap_year
8
+
9
+ ⍝ year not divisible by 4: common year
10
+ 1⎕CR leap_year 2015
11
+ 0
12
+
13
+ ⍝ year divisible by 4, not divisible by 100: leap year
14
+ 1⎕CR leap_year 2016
15
+ 1
16
+
17
+ ⍝ year divisible by 100, not divisible by 400: common year
18
+ 1⎕CR leap_year 2100
19
+ 0
20
+
21
+ ⍝ year divisible by 400: leap year
22
+ 1⎕CR leap_year 2000
23
+ 1
24
+
25
+ test∆show_log log
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env apl --script
2
+
3
+ ⍝ Clear logfile with given filename.
4
+ ∇test∆clear_log filename
5
+ handle←'w' ⎕FIO[3] filename
6
+ _←⎕FIO[4] handle
7
+
8
+
9
+ ⍝ )COPY file relative to current directory.
10
+ ∇test∆copy_relative path
11
+ _←⍎ ')COPY ',test¯pwd,'/',path
12
+
13
+
14
+ ⍝ Write logfile with given filename to stderr as UTF-8.
15
+ ∇test∆show_log filename
16
+ cr←⎕ucs 10
17
+ test¯warn cr,'***** TEST LOG *****',cr,cr
18
+ test¯warn test¯read_unicode filename
19
+
20
+
21
+ ⍝ private
22
+
23
+ ⍝ Return current directory as a string.
24
+ ∇pwd←test¯pwd
25
+ pwd←⎕FIO 30
26
+
27
+
28
+ ⍝ Read a UTF-8 file into a Unicode character vector.
29
+ ∇unicode←test¯read_unicode filename
30
+ unicode←19⎕CR ⎕FIO[26] filename
31
+
32
+
33
+ ⍝ Write string to stderr.
34
+ ∇test¯warn string
35
+ _←'%s' string ⎕FIO[22] 2
36
+
@@ -1,9 +1,13 @@
1
1
  #!/bin/bash
2
2
 
3
+ trap 'exit 1' ERR
3
4
  bin/build-jq.sh
4
5
 
5
6
  pr_files_json=`curl -s https://api.github.com/repos/exercism/java/pulls/${TRAVIS_PULL_REQUEST}/files`
6
7
 
8
+ echo "Pull request number: ${TRAVIS_PULL_REQUEST}"
9
+ echo "Changes in pr json: ${pr_files_json}"
10
+
7
11
  # if jq fails to get the required data, then that means TRAVIS_PULL_REQUEST was not set (not run in travis-ci),
8
12
  # or was false (not a pull request). In that case, we should fall back with testing every exercise
9
13
 
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env bash
2
- set -e
2
+ trap 'exit 1' ERR
3
+
3
4
  ./gradlew --version
4
5
 
5
6
  echo ""
@@ -42,13 +42,9 @@
42
42
  },
43
43
  {
44
44
  "github_username": "Smarticles101",
45
- "show_on_website": false,
45
+ "show_on_website": true,
46
46
  "alumnus": false,
47
- "name": null,
48
- "bio": null,
49
- "link_text": null,
50
- "link_url": null,
51
- "avatar_url": null
47
+ "bio": "I'm a 16 year old high school student. I like programming and java a lot. Contributing to exercism helps me to keep learning and get valuable experience. One day near, I hope to have a job or internship programming"
52
48
  },
53
49
  {
54
50
  "github_username": "FridaTveit",
@@ -11,7 +11,7 @@ public class CustomSet<T> {
11
11
  private Set<T> set;
12
12
 
13
13
  public CustomSet() {
14
- this(Collections.EMPTY_LIST);
14
+ this(Collections.emptyList());
15
15
  }
16
16
 
17
17
  public CustomSet(Collection<T> data) {
@@ -12,7 +12,7 @@ public class CustomSetTest {
12
12
  @Test
13
13
  public void setsWithNoElementsAreEmpty() {
14
14
  final boolean actual
15
- = new CustomSet<>(Collections.EMPTY_LIST)
15
+ = new CustomSet<>(Collections.emptyList())
16
16
  .isEmpty();
17
17
  assertTrue(actual);
18
18
  }
@@ -31,7 +31,7 @@ public class CustomSetTest {
31
31
  @Test
32
32
  public void nothingIsContainedInAnEmptySet() {
33
33
  final boolean actual
34
- = new CustomSet<>(Collections.EMPTY_LIST)
34
+ = new CustomSet<>(Collections.emptyList())
35
35
  .contains(1);
36
36
 
37
37
  assertFalse(actual);
@@ -61,9 +61,9 @@ public class CustomSetTest {
61
61
  @Test
62
62
  public void emptySetIsASubsetOfAnotherEmptySet() {
63
63
  final boolean actual
64
- = new CustomSet<>(Collections.EMPTY_LIST)
64
+ = new CustomSet<>(Collections.emptyList())
65
65
  .isSubset(
66
- new CustomSet<>(Collections.EMPTY_LIST)
66
+ new CustomSet<>(Collections.emptyList())
67
67
  );
68
68
 
69
69
  assertTrue(actual);
@@ -75,7 +75,7 @@ public class CustomSetTest {
75
75
  final boolean actual
76
76
  = new CustomSet<>(Collections.singletonList(1))
77
77
  .isSubset(
78
- new CustomSet<>(Collections.EMPTY_LIST)
78
+ new CustomSet<>(Collections.emptyList())
79
79
  );
80
80
 
81
81
  assertTrue(actual);
@@ -85,7 +85,7 @@ public class CustomSetTest {
85
85
  @Test
86
86
  public void nonEmptySetIsNotASubsetOfEmptySet() {
87
87
  final boolean actual
88
- = new CustomSet<>(Collections.EMPTY_LIST)
88
+ = new CustomSet<>(Collections.emptyList())
89
89
  .isSubset(
90
90
  new CustomSet<>(Collections.singletonList(1))
91
91
  );
@@ -133,9 +133,9 @@ public class CustomSetTest {
133
133
  @Test
134
134
  public void theEmptySetIsDisjointWithItself() {
135
135
  final boolean actual
136
- = new CustomSet<>(Collections.EMPTY_LIST)
136
+ = new CustomSet<>(Collections.emptyList())
137
137
  .isDisjoint(
138
- new CustomSet<>(Collections.EMPTY_LIST)
138
+ new CustomSet<>(Collections.emptyList())
139
139
  );
140
140
 
141
141
  assertTrue(actual);
@@ -145,7 +145,7 @@ public class CustomSetTest {
145
145
  @Test
146
146
  public void emptySetIsDisjointWithNonEmptySet() {
147
147
  final boolean actual
148
- = new CustomSet<>(Collections.EMPTY_LIST)
148
+ = new CustomSet<>(Collections.emptyList())
149
149
  .isDisjoint(
150
150
  new CustomSet<>(Collections.singletonList(1))
151
151
  );
@@ -159,7 +159,7 @@ public class CustomSetTest {
159
159
  final boolean actual
160
160
  = new CustomSet<>(Collections.singletonList(1))
161
161
  .isDisjoint(
162
- new CustomSet<>(Collections.EMPTY_LIST)
162
+ new CustomSet<>(Collections.emptyList())
163
163
  );
164
164
 
165
165
  assertTrue(actual);
@@ -193,9 +193,9 @@ public class CustomSetTest {
193
193
  @Test
194
194
  public void emptySetsAreEqual() {
195
195
  final boolean actual
196
- = new CustomSet<>(Collections.EMPTY_LIST)
196
+ = new CustomSet<>(Collections.emptyList())
197
197
  .equals(
198
- new CustomSet<>(Collections.EMPTY_LIST)
198
+ new CustomSet<>(Collections.emptyList())
199
199
  );
200
200
 
201
201
  assertTrue(actual);
@@ -205,7 +205,7 @@ public class CustomSetTest {
205
205
  @Test
206
206
  public void emptySetIsNotEqualToNonEmptySet() {
207
207
  final boolean actual
208
- = new CustomSet<>(Collections.EMPTY_LIST)
208
+ = new CustomSet<>(Collections.emptyList())
209
209
  .equals(
210
210
  new CustomSet<>(Arrays.asList(1, 2, 3))
211
211
  );
@@ -219,7 +219,7 @@ public class CustomSetTest {
219
219
  final boolean actual
220
220
  = new CustomSet<>(Arrays.asList(1, 2, 3))
221
221
  .equals(
222
- new CustomSet<>(Collections.EMPTY_LIST)
222
+ new CustomSet<>(Collections.emptyList())
223
223
  );
224
224
 
225
225
  assertFalse(actual);
@@ -258,7 +258,7 @@ public class CustomSetTest {
258
258
  Collections.unmodifiableList(Collections.singletonList(element))
259
259
  );
260
260
  final CustomSet<Integer> actual
261
- = new CustomSet<>(Collections.EMPTY_LIST);
261
+ = new CustomSet<>(Collections.emptyList());
262
262
 
263
263
  actual.add(element);
264
264
 
@@ -306,9 +306,9 @@ public class CustomSetTest {
306
306
  @Test
307
307
  public void intersectionOfTwoEmptySetsIsAnEmptySet() {
308
308
  final CustomSet<Integer> actual
309
- = new CustomSet<>(Collections.EMPTY_LIST)
309
+ = new CustomSet<Integer>(Collections.emptyList())
310
310
  .getIntersection(
311
- new CustomSet<>(Collections.EMPTY_LIST)
311
+ new CustomSet<>(Collections.emptyList())
312
312
  );
313
313
 
314
314
  assertNotNull(actual);
@@ -319,7 +319,7 @@ public class CustomSetTest {
319
319
  @Test
320
320
  public void intersectionOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
321
321
  final CustomSet<Integer> actual
322
- = new CustomSet<>(Collections.EMPTY_LIST)
322
+ = new CustomSet<Integer>(Collections.emptyList())
323
323
  .getIntersection(
324
324
  new CustomSet<>(Arrays.asList(3, 2, 5))
325
325
  );
@@ -334,7 +334,7 @@ public class CustomSetTest {
334
334
  final CustomSet<Integer> actual
335
335
  = new CustomSet<>(Arrays.asList(1, 2, 3, 4))
336
336
  .getIntersection(
337
- new CustomSet<>(Collections.EMPTY_LIST)
337
+ new CustomSet<>(Collections.emptyList())
338
338
  );
339
339
 
340
340
  assertNotNull(actual);
@@ -377,9 +377,9 @@ public class CustomSetTest {
377
377
  @Test
378
378
  public void differenceOfTwoEmptySetsIsAnEmptySet() {
379
379
  final CustomSet<Integer> actual
380
- = new CustomSet<>(Collections.EMPTY_LIST)
380
+ = new CustomSet<Integer>(Collections.emptyList())
381
381
  .getDifference(
382
- new CustomSet<>(Collections.EMPTY_LIST)
382
+ new CustomSet<>(Collections.emptyList())
383
383
  );
384
384
 
385
385
  assertNotNull(actual);
@@ -390,7 +390,7 @@ public class CustomSetTest {
390
390
  @Test
391
391
  public void differenceOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
392
392
  final CustomSet<Integer> actual
393
- = new CustomSet<>(Collections.EMPTY_LIST)
393
+ = new CustomSet<Integer>(Collections.emptyList())
394
394
  .getDifference(
395
395
  new CustomSet<>(Arrays.asList(3, 2, 5))
396
396
  );
@@ -409,7 +409,7 @@ public class CustomSetTest {
409
409
  final CustomSet<Integer> actual
410
410
  = new CustomSet<>(Arrays.asList(1, 2, 3, 4))
411
411
  .getDifference(
412
- new CustomSet<>(Collections.EMPTY_LIST)
412
+ new CustomSet<>(Collections.emptyList())
413
413
  );
414
414
 
415
415
  assertNotNull(actual);
@@ -439,9 +439,9 @@ public class CustomSetTest {
439
439
  @Test
440
440
  public void unionOfTwoEmptySetsIsAnEmptySet() {
441
441
  final CustomSet<Integer> actual
442
- = new CustomSet<>(Collections.EMPTY_LIST)
442
+ = new CustomSet<Integer>(Collections.emptyList())
443
443
  .getUnion(
444
- new CustomSet<>(Collections.EMPTY_LIST)
444
+ new CustomSet<>(Collections.emptyList())
445
445
  );
446
446
 
447
447
  assertNotNull(actual);
@@ -456,7 +456,7 @@ public class CustomSetTest {
456
456
  Collections.unmodifiableList(Collections.singletonList(2))
457
457
  );
458
458
  final CustomSet<Integer> actual
459
- = new CustomSet<>(Collections.EMPTY_LIST)
459
+ = new CustomSet<Integer>(Collections.emptyList())
460
460
  .getUnion(
461
461
  new CustomSet<>(Collections.singletonList(2))
462
462
  );
@@ -476,7 +476,7 @@ public class CustomSetTest {
476
476
  final CustomSet<Integer> actual
477
477
  = new CustomSet<>(Arrays.asList(1, 3))
478
478
  .getUnion(
479
- new CustomSet<>(Collections.EMPTY_LIST)
479
+ new CustomSet<>(Collections.emptyList())
480
480
  );
481
481
 
482
482
  assertNotNull(actual);
@@ -0,0 +1,5 @@
1
+ unit module HelloWorld;
2
+
3
+ sub hello is export {
4
+ 'Hello, World!'
5
+ }
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.2.1.18
4
+ version: 2.2.1.19
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-08-25 00:00:00.000000000 Z
11
+ date: 2017-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -580,6 +580,7 @@ files:
580
580
  - tracks/bash/docs/INSTALLATION.md
581
581
  - tracks/bash/docs/LEARNING.md
582
582
  - tracks/bash/docs/RESOURCES.md
583
+ - tracks/bash/docs/SNIPPET.txt
583
584
  - tracks/bash/docs/TESTS.md
584
585
  - tracks/bash/exercises/anagram/README.md
585
586
  - tracks/bash/exercises/anagram/anagram_tests.sh
@@ -1424,6 +1425,7 @@ files:
1424
1425
  - tracks/cpp/docs/INSTALLATION.md
1425
1426
  - tracks/cpp/docs/LEARNING.md
1426
1427
  - tracks/cpp/docs/RESOURCES.md
1428
+ - tracks/cpp/docs/SNIPPET.txt
1427
1429
  - tracks/cpp/docs/TESTS.md
1428
1430
  - tracks/cpp/exercises/allergies/CMakeLists.txt
1429
1431
  - tracks/cpp/exercises/allergies/README.md
@@ -4517,14 +4519,21 @@ files:
4517
4519
  - tracks/gnu-apl/bin/fetch-configlet
4518
4520
  - tracks/gnu-apl/config.json
4519
4521
  - tracks/gnu-apl/config/exercise-readme-insert.md
4520
- - tracks/gnu-apl/config/exercise-readme.go.tmpl
4522
+ - tracks/gnu-apl/config/exercise_readme.go.tmpl
4521
4523
  - tracks/gnu-apl/config/maintainers.json
4522
4524
  - tracks/gnu-apl/docs/ABOUT.md
4523
4525
  - tracks/gnu-apl/docs/INSTALLATION.md
4524
4526
  - tracks/gnu-apl/docs/LEARNING.md
4525
4527
  - tracks/gnu-apl/docs/RESOURCES.md
4526
4528
  - tracks/gnu-apl/docs/TESTS.md
4529
+ - tracks/gnu-apl/exercises/hello-world/README.md
4530
+ - tracks/gnu-apl/exercises/hello-world/hello-world-example.apl
4531
+ - tracks/gnu-apl/exercises/hello-world/hello-world.apl
4532
+ - tracks/gnu-apl/exercises/hello-world/hello-world.tc
4533
+ - tracks/gnu-apl/exercises/leap/leap-example.apl
4534
+ - tracks/gnu-apl/exercises/leap/leap.tc
4527
4535
  - tracks/gnu-apl/img/.keep
4536
+ - tracks/gnu-apl/test.apl
4528
4537
  - tracks/go/.git
4529
4538
  - tracks/go/.gitignore
4530
4539
  - tracks/go/.travis.yml
@@ -8523,6 +8532,7 @@ files:
8523
8532
  - tracks/perl6/docs/INSTALLATION.md
8524
8533
  - tracks/perl6/docs/LEARNING.md
8525
8534
  - tracks/perl6/docs/RESOURCES.md
8535
+ - tracks/perl6/docs/SNIPPET.txt
8526
8536
  - tracks/perl6/docs/TESTS.md
8527
8537
  - tracks/perl6/exercises/accumulate/Accumulate.pm6
8528
8538
  - tracks/perl6/exercises/accumulate/Example.pm6