trackler 2.2.1.14 → 2.2.1.15
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 +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/docs/INSTALLATION.md +1 -1
- data/tracks/csharp/exercises/binary-search/BinarySearchTest.cs +2 -2
- data/tracks/csharp/exercises/poker/Example.cs +69 -20
- data/tracks/csharp/exercises/poker/PokerTest.cs +152 -82
- data/tracks/csharp/exercises/raindrops/RaindropsTest.cs +4 -4
- data/tracks/csharp/exercises/roman-numerals/RomanNumeralsTest.cs +4 -4
- data/tracks/csharp/exercises/word-count/Example.cs +2 -2
- data/tracks/csharp/exercises/word-count/WordCount.cs +2 -2
- data/tracks/csharp/exercises/word-count/WordCountTest.cs +85 -87
- data/tracks/csharp/generators/Exercises/Pangram.cs +0 -1
- data/tracks/csharp/generators/Exercises/Poker.cs +19 -0
- data/tracks/csharp/generators/Exercises/RomanNumerals.cs +0 -1
- data/tracks/csharp/generators/Exercises/WordCount.cs +27 -0
- data/tracks/csharp/generators/Output/NameExtensions.cs +6 -4
- data/tracks/delphi/{docs → exercises/hello-world}/GETTING_STARTED_GUIDE.md +0 -0
- data/tracks/go/config.json +629 -618
- data/tracks/go/config/maintainers.json +33 -33
- data/tracks/go/exercises/accumulate/README.md +0 -3
- data/tracks/go/exercises/hello-world/example.go +0 -2
- data/tracks/go/exercises/hello-world/hello_test.go +0 -20
- data/tracks/go/exercises/hello-world/hello_world.go +1 -36
- data/tracks/go/exercises/leap/leap.go +0 -1
- data/tracks/go/exercises/leap/leap_test.go +7 -3
- data/tracks/go/exercises/two-fer/README.md +66 -0
- data/tracks/go/exercises/two-fer/example.go +9 -0
- data/tracks/go/exercises/{hello-world/example_helloworld_test.go → two-fer/example_two_fer_test.go} +9 -9
- data/tracks/go/exercises/two-fer/two_fer.go +15 -0
- data/tracks/go/exercises/two-fer/two_fer_test.go +20 -0
- data/tracks/go/gen/gen.go +11 -10
- data/tracks/python/exercises/change/change_test.py +7 -2
- data/tracks/rust/config.json +1 -0
- data/tracks/rust/docs/ABOUT.md +1 -1
- data/tracks/scala/exercises/nth-prime/example.scala +2 -2
- data/tracks/scala/exercises/nth-prime/src/test/scala/NthPrimeTest.scala +29 -0
- data/tracks/scala/testgen/src/main/scala/NthPrimeTestGenerator.scala +34 -0
- metadata +12 -7
- data/tracks/fsharp/appveyor.yml +0 -4
- data/tracks/fsharp/circle.yml +0 -16
- data/tracks/scala/exercises/nth-prime/src/test/scala/PrimeTest.scala +0 -37
| @@ -19,13 +19,18 @@ class ChangeTest(unittest.TestCase): | |
| 19 19 | 
             
                                     [21, 21, 21])
         | 
| 20 20 |  | 
| 21 21 | 
             
                def test_large_target_values(self):
         | 
| 22 | 
            -
                    self.assertEqual(find_minimum_coins( | 
| 23 | 
            -
                                     [2, 2,  | 
| 22 | 
            +
                    self.assertEqual(find_minimum_coins(999, [1, 2, 5, 10, 20, 50, 100]),
         | 
| 23 | 
            +
                                     [2, 2, 5, 20, 20, 50, 100, 100, 100,
         | 
| 24 | 
            +
                                      100, 100, 100, 100, 100, 100])
         | 
| 24 25 |  | 
| 25 26 | 
             
                def test_possible_change_without_unit_coins_available(self):
         | 
| 26 27 | 
             
                    self.assertEqual(find_minimum_coins(21, [2, 5, 10, 20, 50]),
         | 
| 27 28 | 
             
                                     [2, 2, 2, 5, 10])
         | 
| 28 29 |  | 
| 30 | 
            +
                def test_another_possible_change_without_unit_coins_available(self):
         | 
| 31 | 
            +
                    self.assertEqual(find_minimum_coins(27, [4, 5]),
         | 
| 32 | 
            +
                                     [4, 4, 4, 5, 5, 5])
         | 
| 33 | 
            +
             | 
| 29 34 | 
             
                def test_no_coins_make_0_change(self):
         | 
| 30 35 | 
             
                    self.assertEqual(find_minimum_coins(0, [1, 5, 10, 21, 25]), [])
         | 
| 31 36 |  | 
    
        data/tracks/rust/config.json
    CHANGED
    
    
    
        data/tracks/rust/docs/ABOUT.md
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            Rust  | 
| 1 | 
            +
            Rust aims to bring modern language design and an advanced type system to systems programming. Rust does not use a garbage collector, but instead ensures safety and optimizes code at compile time. The concept of [ownership](https://doc.rust-lang.org/book/ownership.html) is how Rust achieves its largest goal, memory safety.
         | 
| 2 2 |  | 
| 3 3 | 
             
            Rust core and the standard library contain a minimal set of functionality. Rustaceans are encouraged to add features, in the form of libraries called _crates_, to the language and then share them on [crates.io](https://crates.io/).
         | 
| 4 4 |  | 
| @@ -1,10 +1,10 @@ | |
| 1 | 
            -
            object  | 
| 1 | 
            +
            object NthPrime {
         | 
| 2 2 | 
             
              // The stream will cache calculated primes. This is nice for performance,
         | 
| 3 3 | 
             
              // but not so nice for memory utilization.
         | 
| 4 4 | 
             
              private lazy val primes: Stream[BigInt] =
         | 
| 5 5 | 
             
                Stream.cons(BigInt(2), primes.map(b => new BigInt(b.bigInteger.nextProbablePrime)))
         | 
| 6 6 |  | 
| 7 | 
            -
              def  | 
| 7 | 
            +
              def prime(n: Int): Option[Int] =
         | 
| 8 8 | 
             
                if (n < 1) None
         | 
| 9 9 | 
             
                else Some(primes.drop(n - 1).head.toInt)
         | 
| 10 10 | 
             
            }
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            import org.scalatest.{Matchers, FunSuite}
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            /** @version 1.0.0 */
         | 
| 4 | 
            +
            class NthPrimeTest extends FunSuite with Matchers {
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              test("first prime") {
         | 
| 7 | 
            +
                NthPrime.prime(1) should be (Some(2))
         | 
| 8 | 
            +
              }
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              test("second prime") {
         | 
| 11 | 
            +
                pending
         | 
| 12 | 
            +
                NthPrime.prime(2) should be (Some(3))
         | 
| 13 | 
            +
              }
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              test("sixth prime") {
         | 
| 16 | 
            +
                pending
         | 
| 17 | 
            +
                NthPrime.prime(6) should be (Some(13))
         | 
| 18 | 
            +
              }
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              test("big prime") {
         | 
| 21 | 
            +
                pending
         | 
| 22 | 
            +
                NthPrime.prime(10001) should be (Some(104743))
         | 
| 23 | 
            +
              }
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              test("there is no zeroth prime") {
         | 
| 26 | 
            +
                pending
         | 
| 27 | 
            +
                NthPrime.prime(0) should be (None)
         | 
| 28 | 
            +
              }
         | 
| 29 | 
            +
            }
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            import java.io.File
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            import testgen.TestSuiteBuilder._
         | 
| 4 | 
            +
            import testgen._
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            object NthPrimerTestGenerator {
         | 
| 7 | 
            +
              def main(args: Array[String]): Unit = {
         | 
| 8 | 
            +
                val file = new File("src/main/resources/nth-prime.json")
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                def toString(expected: CanonicalDataParser.Expected): String = {
         | 
| 11 | 
            +
                  expected match {
         | 
| 12 | 
            +
                    case Left(_) => "None"
         | 
| 13 | 
            +
                    case Right(false) => "None"
         | 
| 14 | 
            +
                    case Right(n) => s"Some($n)"
         | 
| 15 | 
            +
                  }
         | 
| 16 | 
            +
                }
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                def fromLabeledTest(argNames: String*): ToTestCaseData =
         | 
| 19 | 
            +
                  withLabeledTest { sut =>
         | 
| 20 | 
            +
                    labeledTest =>
         | 
| 21 | 
            +
                      val args = sutArgs(labeledTest.result, argNames: _*)
         | 
| 22 | 
            +
                      val property = labeledTest.property
         | 
| 23 | 
            +
                      val sutCall =
         | 
| 24 | 
            +
                        s"""$sut.$property($args)"""
         | 
| 25 | 
            +
                      val expected = toString(labeledTest.expected)
         | 
| 26 | 
            +
                      TestCaseData(labeledTest.description, sutCall, expected)
         | 
| 27 | 
            +
                  }
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                val code = TestSuiteBuilder.build(file, fromLabeledTest("input"))
         | 
| 30 | 
            +
                println(s"-------------")
         | 
| 31 | 
            +
                println(code)
         | 
| 32 | 
            +
                println(s"-------------")
         | 
| 33 | 
            +
              }
         | 
| 34 | 
            +
            }
         | 
    
        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. | 
| 4 | 
            +
              version: 2.2.1.15
         | 
| 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- | 
| 11 | 
            +
            date: 2017-08-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rubyzip
         | 
| @@ -2364,6 +2364,7 @@ files: | |
| 2364 2364 | 
             
            - tracks/csharp/generators/Exercises/PerfectNumbers.cs
         | 
| 2365 2365 | 
             
            - tracks/csharp/generators/Exercises/PhoneNumber.cs
         | 
| 2366 2366 | 
             
            - tracks/csharp/generators/Exercises/PigLatin.cs
         | 
| 2367 | 
            +
            - tracks/csharp/generators/Exercises/Poker.cs
         | 
| 2367 2368 | 
             
            - tracks/csharp/generators/Exercises/PrimeFactors.cs
         | 
| 2368 2369 | 
             
            - tracks/csharp/generators/Exercises/RailFenceCipher.cs
         | 
| 2369 2370 | 
             
            - tracks/csharp/generators/Exercises/Raindrops.cs
         | 
| @@ -2379,6 +2380,7 @@ files: | |
| 2379 2380 | 
             
            - tracks/csharp/generators/Exercises/SumOfMultiples.cs
         | 
| 2380 2381 | 
             
            - tracks/csharp/generators/Exercises/Transpose.cs
         | 
| 2381 2382 | 
             
            - tracks/csharp/generators/Exercises/TwoFer.cs
         | 
| 2383 | 
            +
            - tracks/csharp/generators/Exercises/WordCount.cs
         | 
| 2382 2384 | 
             
            - tracks/csharp/generators/Exercises/Wordy.cs
         | 
| 2383 2385 | 
             
            - tracks/csharp/generators/Generators.csproj
         | 
| 2384 2386 | 
             
            - tracks/csharp/generators/Generators.csproj.user
         | 
| @@ -2588,7 +2590,6 @@ files: | |
| 2588 2590 | 
             
            - tracks/delphi/config/maintainers.json
         | 
| 2589 2591 | 
             
            - tracks/delphi/docs/ABOUT.md
         | 
| 2590 2592 | 
             
            - tracks/delphi/docs/EXERCISE_README_INSERT.md
         | 
| 2591 | 
            -
            - tracks/delphi/docs/GETTING_STARTED_GUIDE.md
         | 
| 2592 2593 | 
             
            - tracks/delphi/docs/INSTALLATION.md
         | 
| 2593 2594 | 
             
            - tracks/delphi/docs/LEARNING.md
         | 
| 2594 2595 | 
             
            - tracks/delphi/docs/RESOURCES.md
         | 
| @@ -2662,6 +2663,7 @@ files: | |
| 2662 2663 | 
             
            - tracks/delphi/exercises/hamming/README.md
         | 
| 2663 2664 | 
             
            - tracks/delphi/exercises/hamming/uHammingExample.pas
         | 
| 2664 2665 | 
             
            - tracks/delphi/exercises/hamming/uHammingTests.pas
         | 
| 2666 | 
            +
            - tracks/delphi/exercises/hello-world/GETTING_STARTED_GUIDE.md
         | 
| 2665 2667 | 
             
            - tracks/delphi/exercises/hello-world/HelloWorld.dpr
         | 
| 2666 2668 | 
             
            - tracks/delphi/exercises/hello-world/README.md
         | 
| 2667 2669 | 
             
            - tracks/delphi/exercises/hello-world/uHelloWorldExample.pas
         | 
| @@ -4132,12 +4134,10 @@ files: | |
| 4132 4134 | 
             
            - tracks/fsharp/.travis.yml
         | 
| 4133 4135 | 
             
            - tracks/fsharp/LICENSE
         | 
| 4134 4136 | 
             
            - tracks/fsharp/README.md
         | 
| 4135 | 
            -
            - tracks/fsharp/appveyor.yml
         | 
| 4136 4137 | 
             
            - tracks/fsharp/bin/fetch-configlet
         | 
| 4137 4138 | 
             
            - tracks/fsharp/build.cmd
         | 
| 4138 4139 | 
             
            - tracks/fsharp/build.fsx
         | 
| 4139 4140 | 
             
            - tracks/fsharp/build.sh
         | 
| 4140 | 
            -
            - tracks/fsharp/circle.yml
         | 
| 4141 4141 | 
             
            - tracks/fsharp/config.json
         | 
| 4142 4142 | 
             
            - tracks/fsharp/config/exercise_readme.go.tmpl
         | 
| 4143 4143 | 
             
            - tracks/fsharp/config/maintainers.json
         | 
| @@ -4671,7 +4671,6 @@ files: | |
| 4671 4671 | 
             
            - tracks/go/exercises/hamming/hamming_test.go
         | 
| 4672 4672 | 
             
            - tracks/go/exercises/hello-world/README.md
         | 
| 4673 4673 | 
             
            - tracks/go/exercises/hello-world/example.go
         | 
| 4674 | 
            -
            - tracks/go/exercises/hello-world/example_helloworld_test.go
         | 
| 4675 4674 | 
             
            - tracks/go/exercises/hello-world/hello_test.go
         | 
| 4676 4675 | 
             
            - tracks/go/exercises/hello-world/hello_world.go
         | 
| 4677 4676 | 
             
            - tracks/go/exercises/hexadecimal/README.md
         | 
| @@ -4871,6 +4870,11 @@ files: | |
| 4871 4870 | 
             
            - tracks/go/exercises/twelve-days/README.md
         | 
| 4872 4871 | 
             
            - tracks/go/exercises/twelve-days/example.go
         | 
| 4873 4872 | 
             
            - tracks/go/exercises/twelve-days/twelve_days_test.go
         | 
| 4873 | 
            +
            - tracks/go/exercises/two-fer/README.md
         | 
| 4874 | 
            +
            - tracks/go/exercises/two-fer/example.go
         | 
| 4875 | 
            +
            - tracks/go/exercises/two-fer/example_two_fer_test.go
         | 
| 4876 | 
            +
            - tracks/go/exercises/two-fer/two_fer.go
         | 
| 4877 | 
            +
            - tracks/go/exercises/two-fer/two_fer_test.go
         | 
| 4874 4878 | 
             
            - tracks/go/exercises/variable-length-quantity/.meta/gen.go
         | 
| 4875 4879 | 
             
            - tracks/go/exercises/variable-length-quantity/README.md
         | 
| 4876 4880 | 
             
            - tracks/go/exercises/variable-length-quantity/cases_test.go
         | 
| @@ -10909,7 +10913,7 @@ files: | |
| 10909 10913 | 
             
            - tracks/scala/exercises/nth-prime/build.sbt
         | 
| 10910 10914 | 
             
            - tracks/scala/exercises/nth-prime/example.scala
         | 
| 10911 10915 | 
             
            - tracks/scala/exercises/nth-prime/src/main/scala/.keep
         | 
| 10912 | 
            -
            - tracks/scala/exercises/nth-prime/src/test/scala/ | 
| 10916 | 
            +
            - tracks/scala/exercises/nth-prime/src/test/scala/NthPrimeTest.scala
         | 
| 10913 10917 | 
             
            - tracks/scala/exercises/nucleotide-count/HINTS.md
         | 
| 10914 10918 | 
             
            - tracks/scala/exercises/nucleotide-count/README.md
         | 
| 10915 10919 | 
             
            - tracks/scala/exercises/nucleotide-count/build.sbt
         | 
| @@ -11161,6 +11165,7 @@ files: | |
| 11161 11165 | 
             
            - tracks/scala/testgen/src/main/scala/LeapTestGenerator.scala
         | 
| 11162 11166 | 
             
            - tracks/scala/testgen/src/main/scala/LuhnTestGenerator.scala
         | 
| 11163 11167 | 
             
            - tracks/scala/testgen/src/main/scala/MinesweeperTestGenerator.scala
         | 
| 11168 | 
            +
            - tracks/scala/testgen/src/main/scala/NthPrimeTestGenerator.scala
         | 
| 11164 11169 | 
             
            - tracks/scala/testgen/src/main/scala/NucleotideCountTestGenerator.scala
         | 
| 11165 11170 | 
             
            - tracks/scala/testgen/src/main/scala/PangramsTestGenerator.scala
         | 
| 11166 11171 | 
             
            - tracks/scala/testgen/src/main/scala/PascalsTriangleTestGenerator.scala
         | 
    
        data/tracks/fsharp/appveyor.yml
    DELETED
    
    
    
        data/tracks/fsharp/circle.yml
    DELETED
    
    | @@ -1,16 +0,0 @@ | |
| 1 | 
            -
            machine:
         | 
| 2 | 
            -
              environment:
         | 
| 3 | 
            -
                TERM: xterm-256color
         | 
| 4 | 
            -
            dependencies:
         | 
| 5 | 
            -
              pre:
         | 
| 6 | 
            -
                - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
         | 
| 7 | 
            -
                - echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
         | 
| 8 | 
            -
                - sudo apt-get update
         | 
| 9 | 
            -
                - sudo apt-get install mono-complete fsharp
         | 
| 10 | 
            -
            test:
         | 
| 11 | 
            -
              override:
         | 
| 12 | 
            -
                - ./build.sh
         | 
| 13 | 
            -
              post:
         | 
| 14 | 
            -
                - mkdir -p $CIRCLE_TEST_REPORTS/junit/
         | 
| 15 | 
            -
                - sed -i '1 s/^\xef\xbb\xbf//' .*/junit-results.xml
         | 
| 16 | 
            -
                - find . -type f -regex ".*/junit-results.xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            import org.scalatest.{Matchers, FlatSpec}
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            class PrimeTest extends FlatSpec with Matchers {
         | 
| 4 | 
            -
              it should "calculate 1st prime" in {
         | 
| 5 | 
            -
                Prime.nth(1) should be (Some(2))
         | 
| 6 | 
            -
              }
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              it should "calculate 2nd prime" in {
         | 
| 9 | 
            -
                pending
         | 
| 10 | 
            -
                Prime.nth(2) should be (Some(3))
         | 
| 11 | 
            -
              }
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              it should "calculate 6th prime" in {
         | 
| 14 | 
            -
                pending
         | 
| 15 | 
            -
                Prime.nth(6) should be (Some(13))
         | 
| 16 | 
            -
              }
         | 
| 17 | 
            -
             | 
| 18 | 
            -
              it should "calculate 1000th prime" in {
         | 
| 19 | 
            -
                pending
         | 
| 20 | 
            -
                Prime.nth(1000) should be (Some(7919))
         | 
| 21 | 
            -
              }
         | 
| 22 | 
            -
             | 
| 23 | 
            -
              it should "calculate 10000th prime" in {
         | 
| 24 | 
            -
                pending
         | 
| 25 | 
            -
                Prime.nth(10000) should be (Some(104729))
         | 
| 26 | 
            -
              }
         | 
| 27 | 
            -
             | 
| 28 | 
            -
              it should "calculate 10001th prime" in {
         | 
| 29 | 
            -
                pending
         | 
| 30 | 
            -
                Prime.nth(10001) should be (Some(104743))
         | 
| 31 | 
            -
              }
         | 
| 32 | 
            -
             | 
| 33 | 
            -
              it should "not find zeroth prime" in {
         | 
| 34 | 
            -
                pending
         | 
| 35 | 
            -
                Prime.nth(0) should be (None)
         | 
| 36 | 
            -
              }
         | 
| 37 | 
            -
            }
         |