diff --git a/README.md b/README.md index f4c7a6d63..973215c33 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ need to be installed: * The `cmtc` Course Management Tools Client CLI * An IDE -The following sections detail how these components. +The following sections detail how to install these components. ### Install Coursier @@ -122,7 +122,7 @@ Exercises in repository: #### Verifying the course installation -Verify that the the course was installed correctly by launching `sbt test` in the root folder of the +Verify that the course was installed correctly by launching `sbt test` in the root folder of the course exercises. You should see the following output: ```bash @@ -199,7 +199,7 @@ As can be seen in the above output, `cmtc` installed the course in the `/Users/e #### Verifying the course installation -Verify that the the course was installed correctly by launching `sbt test` in the root folder of the +Verify that the course was installed correctly by launching `sbt test` in the root folder of the course exercises. You should see the following output: ```bash @@ -228,13 +228,13 @@ org.lunatechlabs.dotty.sudoku.ReductionRuleSuite: + Applying reduction rules should eliminate values in isolated complete sets from occurrences in other cells (First reduction rule) 0.045s + Applying reduction rules should eliminate values in isolated complete sets of 5 values from occurrences in other cells (First reduction rule) 0.001s + Applying reduction rules should eliminate values in 2 isolated complete sets of 3 values from occurrences in other cells (First reduction rule) 0.001s - + Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule) 0.001s - + Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule) 0.001s + + Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule) 0.001s + + Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule) 0.001s SLF4J: A number (1) of logging calls during the initialization phase have been intercepted and are SLF4J: now being replayed. These are subject to the filtering rules of the underlying logging system. SLF4J: See also http://www.slf4j.org/codes.html#replay org.lunatechlabs.dotty.sudoku.SudokuDetailProcessorSuite: - + Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage 0.007s + + Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message 0.007s + Sending an update to a fresh instance of the SudokuDetailProcessor that sets one cell to a single value should result in sending an update that reflects this update 0.002s + Sending a series of subsequent Updates to a SudokuDetailProcessor should result in sending updates and ultimately return no changes 0.003s [info] Passed: Total 11, Failed 0, Errors 0, Passed 11 diff --git a/exercises/exercise_000_sudoku_solver_initial_state/README.md b/exercises/exercise_000_sudoku_solver_initial_state/README.md index 64ba894cc..396196947 100644 --- a/exercises/exercise_000_sudoku_solver_initial_state/README.md +++ b/exercises/exercise_000_sudoku_solver_initial_state/README.md @@ -55,7 +55,7 @@ SLF4J: now being replayed. These are subject to the filtering rules of the under SLF4J: See also http://www.slf4j.org/codes.html#replay [info] SudokuDetailProcessorSpec: [info] Sending no updates to a sudoku detail processor -[info] - should result in sending a SudokuDetailUnchanged messsage +[info] - should result in sending a SudokuDetailUnchanged message [info] Sending an update to a fresh instance of the SudokuDetailProcessor that sets one cell to a single value [info] - should result in sending an update that reflects this update [info] Sending a series of subsequent Updates to a SudokuDetailProcessor @@ -65,8 +65,8 @@ SLF4J: See also http://www.slf4j.org/codes.html#replay [info] - should Eliminate values in isolated complete sets from occurrences in other cells (First reduction rule) [info] - should Eliminate values in isolated complete sets of 5 values from occurrences in other cells (First reduction rule) [info] - should Eliminate values in 2 isolated complete sets of 3 values from occurrences in other cells (First reduction rule) -[info] - should Eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule) -[info] - should Eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule) +[info] - should Eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule) +[info] - should Eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule) [info] CellMappingSpec: [info] Mapping row coordinates [info] - should result in correct column & block coordinates diff --git a/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index 92ebbd509..4191de216 100644 --- a/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -128,7 +128,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers { } test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)") { + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)") { val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -160,7 +160,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers { } test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)") { + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)") { val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 03209dfa8..b55818928 100644 --- a/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_000_sudoku_solver_initial_state/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -12,7 +12,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers { testKit.shutdownTestKit() } - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage") { + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message") { val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/README.md b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/README.md index 46ea6e0fe..98f739195 100644 --- a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/README.md +++ b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/README.md @@ -87,7 +87,7 @@ where possible standard options include: -source source version ``` -We will add some code that trigger a number of compiler warnings which can +We will add some code that triggers a number of compiler warnings which can be corrected by the compiler's code rewriting capabilities. Add the following code snippet to the `src/main/scala/org/lunatechlabs/dotty/sudoku/SudokuSolver.scala` source code file: @@ -147,7 +147,7 @@ wildcard import syntax from using an asterix (`*`) instead of an underscore (`_` - Add the "-rewrite" option to have the compiler apply all the reported changes. - The end result should be that, after the compiler has applied its rewrites, the source code - compiles clean. + compiles successfully. - Remove the `-rewrite` from `scalacOptions` in the sbt build definition. - Checkpoint the current state of your code by commiting the changes to git: diff --git a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index 92ebbd509..4191de216 100644 --- a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -128,7 +128,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers { } test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)") { + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)") { val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -160,7 +160,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers { } test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)") { + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)") { val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 26362385f..c0c4cc6f7 100644 --- a/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_001_dotty_deprecated_syntax_rewriting/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -12,7 +12,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers { testKit.shutdownTestKit() } - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage") { + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message") { val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/README.md b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/README.md index 6379e1455..5ee15d897 100644 --- a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/README.md +++ b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/README.md @@ -11,7 +11,7 @@ Scala 3 introduces some new syntax which can be divided in two categories: The Scala 3 compiler is able to rewrite existing source code to a different syntax. Note that this rewriting is done one step at a time. In other words, rewriting to -the new significant indentation based syntax -and- to the new control structure syntax +the new significant indentation based syntax _and_ to the new control structure syntax cannot be done in a single step. Changing the syntax is a reversible process (except that after going back to where @@ -42,7 +42,7 @@ alternative syntax options. for a specific syntax rewrite. - Note that syntax rewrites have to be executed one at a time. Also, consecutive syntax rewrites have to be executed in a certain order. Make sure you understand - what's explained in the section named `Setting and Rewrites` at the end of the + what's explained in the section named `Settings and Rewrites` at the end of the [Optional Braces](https://dotty.epfl.ch/docs/reference/other-new-features/indentation.html) section in the Scala 3 reference documentation. diff --git a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_002_dotty_new_syntax_and_indentation_based_syntax/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_003_top_level_definitions/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_004_parameter_untupling/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_005_extension_methods/README.md b/exercises/exercise_005_extension_methods/README.md index 3fb88388a..0017c9b1a 100644 --- a/exercises/exercise_005_extension_methods/README.md +++ b/exercises/exercise_005_extension_methods/README.md @@ -45,10 +45,10 @@ extension (i: Int) ## Steps - part I You should look for extension methods defined with the Scala 2 syntax. How would -you approach this. As part of the exercise, you will define a few new extension +you approach this? As part of the exercise, you will define a few new extension methods. In fact, for this exercise, the tests have been modified assuming these new extension methods are already present. Let's start with adapting the existing -extension methods. Wait with running the tests until you start tackling the second +extension methods. Hold running the tests until you start tackling the second part of this exercise (adding the new extension methods). - Identify all extension methods defined using the _Scala 2 way_. diff --git a/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_005_extension_methods/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_006_using_and_summon/README.md b/exercises/exercise_006_using_and_summon/README.md index 9a7d8f92f..36e1427f9 100644 --- a/exercises/exercise_006_using_and_summon/README.md +++ b/exercises/exercise_006_using_and_summon/README.md @@ -19,7 +19,7 @@ use of _scala 2_'s `implicit`s and `implicitly`. > `Tip`: When a context parameter is passed explicitly it must be preceded by > the `using` keyword -- Keep the `implicit`s at definition side for now, we can change them in the +- Keep the `implicit`s at definition side for now, we can change them in the next exercise - Replace all occurrences of `implicitly` with `summon` diff --git a/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_006_using_and_summon/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_007_givens/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_008_enum_and_export/README.md b/exercises/exercise_008_enum_and_export/README.md index 876bc4fe8..805cb9381 100644 --- a/exercises/exercise_008_enum_and_export/README.md +++ b/exercises/exercise_008_enum_and_export/README.md @@ -3,7 +3,7 @@ ## Background The Sudoku solver is an `Akka Typed` based application. It consists of 29 actors -that interact by exchanging messages and adhering to a well defined protocol, +that interact by exchanging messages and adhering to a well-defined protocol, i.e. each actor has a number of message types it 'understands', the so-called `Command`s and a number of messages that it can send to other actors, usually in `Response` to messages it received earlier. diff --git a/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_008_enum_and_export/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_009_union_types/README.md b/exercises/exercise_009_union_types/README.md index cea477f47..d60d47403 100644 --- a/exercises/exercise_009_union_types/README.md +++ b/exercises/exercise_009_union_types/README.md @@ -37,8 +37,8 @@ Which of these actors receive messages that are responses from other actors? actor's external protocol (`Command`) and the `Response` message types. This new type will be the type of the internal protocol. -- Adapt the `apply` method that creates the actor's behaviour so that it - still is the original behaviour as seen from the outside, but which +- Adapt the `apply` method that creates the actor's behaviour in a way that + keeps the original behaviour as seen from the outside, but which has the extended behaviour (corresponding to `CommandAndResponses`). You will need to make a few extra modifications to make everything type check. Some hints that may put you on the right track: @@ -62,7 +62,7 @@ Which of these actors receive messages that are responses from other actors? and verify that all tests pass - Let's take a step back to see what we achieved: - - We have removed a lot boilerplate code which improves code reablility + - We have removed a lot boilerplate code which improves code readability tremendously. - We have solved the issue of widening some of the actor's protocol in the previous exercise for pure technical reasons. diff --git a/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_009_union_types/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_010_exploring_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_011_optional_opaque_type_aliases/README.md b/exercises/exercise_011_optional_opaque_type_aliases/README.md index 99a075b61..0f408914a 100644 --- a/exercises/exercise_011_optional_opaque_type_aliases/README.md +++ b/exercises/exercise_011_optional_opaque_type_aliases/README.md @@ -1,6 +1,6 @@ # Opaque Type Aliases -> NOTE: this exercise is optional. It's purpose is to show that certain use +> NOTE: this exercise is optional. Its purpose is to show that certain use > cases of opaque type aliases sound great at first, but turn out > to be very difficult to implement @@ -46,7 +46,7 @@ into an Opaque Type Alias. - So it seems we need to tackle quite a few compilation errors... Let's get started. -> Tip: In general, try to fix all of the compilation errors of this form +> Tip: In general, try to fix all the compilation errors of this form > `value {name} is not a member of ...` before tackling the other types > of error like `Found: ... Required: ...` diff --git a/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_011_optional_opaque_type_aliases/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index 7414e902a..b1fe3cacc 100644 --- a/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_012_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_020_opaque_type_aliases_alt/README.md b/exercises/exercise_020_opaque_type_aliases_alt/README.md index 77faab5f2..e4397564f 100644 --- a/exercises/exercise_020_opaque_type_aliases_alt/README.md +++ b/exercises/exercise_020_opaque_type_aliases_alt/README.md @@ -1,6 +1,6 @@ # Opaque Type Aliases -> NOTE: this exercise is optional. It's purpose is to show that certain use +> NOTE: this exercise is optional. Its purpose is to show that certain use > cases of opaque type aliases sound great at first, but turn out > to be very difficult to implement @@ -12,7 +12,7 @@ any runtime overhead. The aim is to provide additional type-safety at compile-time but then be stripped away at runtime. It is a powerful new feature of Scala 3 for supporting Information Hiding. -Opaque Type Aliases differ from plain Scala 2 Type Aliases in that the later +Opaque Type Aliases differ from plain Scala 2 Type Aliases in that the latter just provide a new name for a type but wherever this new name is used, the call-site still knows the details of the original type being aliased. With Opaque Type Aliases, the original type being aliased is hidden (or is opaque) at @@ -45,7 +45,7 @@ this exercise. Specifically we will convert the last of these type aliases, - Use your experience from the exercise on Extension Methods to fix the compilation errors of the form `value {name} is not a member of org.lunatechlabs.dotty.sudoku.CellUpdates` - - Tip: Fix all of the compilation errors of this form `value {name} is not a + - Tip: Fix all the compilation errors of this form `value {name} is not a member of ...` before tackling the other types of error like `Found: ... Required: ...` - Tip: Some of the mission members for our new opaque type are generic (i.e. diff --git a/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index a61822435..891c7fbd9 100644 --- a/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_020_opaque_type_aliases_alt/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0)) diff --git a/exercises/exercise_021_multiversal_equality/README.md b/exercises/exercise_021_multiversal_equality/README.md index 17675575b..e22c97e8c 100644 --- a/exercises/exercise_021_multiversal_equality/README.md +++ b/exercises/exercise_021_multiversal_equality/README.md @@ -28,7 +28,7 @@ error. ## Steps - Enable multiversal equality at the project level by adding `-language:strictEquality` - to the Scalaa compiler options in `project/Build.scala` + to the Scala compiler options in `project/Build.scala` - Use the course notes on Multiversal Equality and your experience from the exercise on `given`s to make the code compile with the flag diff --git a/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala b/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala index afc7cf290..ea6d89ec4 100644 --- a/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala +++ b/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/ReductionRuleSuite.scala @@ -124,7 +124,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(input), reducedInput) test( - "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "12 5 789", // (1,2,7,8) shadowed & complete @@ -155,7 +155,7 @@ class ReductionRuleSuite extends munit.FunSuite with SudokuTestHelpers: assertEquals(applyReductionRules(reducedInput1), reducedInput1) test( - "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in same cells (Second reduction rule)"): + "Applying reduction rules should eliminate values in shadowed complete (6 value) sets from occurrences in the same cells (Second reduction rule)"): val input = stringToReductionSet( Vector( "123456 89", // (1,2,3,4,5,6) shadowed & complete diff --git a/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala b/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala index a61822435..891c7fbd9 100644 --- a/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala +++ b/exercises/exercise_021_multiversal_equality/src/test/scala/org/lunatechlabs/dotty/sudoku/SudokuDetailProcessorSuite.scala @@ -11,7 +11,7 @@ class SudokuDetailProcessorSuite extends munit.FunSuite with SudokuTestHelpers: override def afterAll(): Unit = testKit.shutdownTestKit() - test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged messsage"): + test("Sending no updates to a sudoku detail processor should result in sending a SudokuDetailUnchanged message"): val probe = testKit.createTestProbe[SudokuDetailProcessor.Response]() val detailProcessor = testKit.spawn(SudokuDetailProcessor[Row](id = 0))