Regenerated exercise descriptions
This commit is contained in:
parent
196972a15e
commit
7133459770
|
@ -7,8 +7,9 @@ functions.
|
|||
In `createCounter` define a local variable `counter`. Then define two local
|
||||
functions:
|
||||
|
||||
- `inc()` - increases the `counter` value by one
|
||||
- `value()` - returns the value of `counter`
|
||||
- `inc()` - increases the `counter` value by one
|
||||
|
||||
- `value()` - returns the value of `counter`
|
||||
|
||||
At last, return a pair of function references to these local functions:
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
Implement the `List<Int>` extension functions `allNonZero()` and `hasZero()`
|
||||
using each of `all()`, `none()` and `any()`.
|
||||
|
||||
- `allNonZero()` checks that all elements in the list are non-zero.
|
||||
- `allNonZero()` checks that all elements in the list are non-zero.
|
||||
|
||||
- `hasZero()` checks that the list contains a zero.
|
||||
- `hasZero()` checks that the list contains a zero.
|
||||
|
||||
The implementations using `all()` are given in the starter code.
|
||||
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
## Sequences (#7)
|
||||
|
||||
Write a function `oddWithout1` that creates an infinite sequence of odd numbers
|
||||
starting with 3 that do not contain the digit `1`:
|
||||
starting with `3` that do not contain the digit `1` in its decimal
|
||||
representation:
|
||||
|
||||
```
|
||||
3, 5, 7, 9, 23, 25, 27, 29, 33 ...
|
||||
In `main`, display to the console the sum of the first 20 elements of this sequence.
|
||||
```
|
||||
|
||||
In `main`, display to the console the sum of the first `20` elements of this
|
||||
sequence.
|
|
@ -3,10 +3,13 @@
|
|||
Palindromes are words or phrases that read the same forward and backward. For
|
||||
example:
|
||||
|
||||
- "mom" is a palindrome
|
||||
- "dad" is a palindrome
|
||||
- "rotator" is a palindrome
|
||||
- "streets" is *not* a palindrome
|
||||
- "mom" is a palindrome
|
||||
|
||||
- "dad" is a palindrome
|
||||
|
||||
- "rotator" is a palindrome
|
||||
|
||||
- "streets" is *not* a palindrome
|
||||
|
||||
Write a function that checks whether a word or phrase is a palindrome.
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@ The starter code defines three packages `aaa`, `bbb` and `ccc` via the files
|
|||
|
||||
In the first package `aaa`, define:
|
||||
|
||||
- `val x = 10`
|
||||
- `val x = 10`
|
||||
|
||||
- A top-level function `fa()` that takes an `Int` parameter and returns that
|
||||
argument multiplied by `x`
|
||||
- A top-level function `fa()` that takes an `Int` parameter and returns that
|
||||
argument multiplied by `x`
|
||||
|
||||
- A class `K` with a `toString()` that returns `"K"`
|
||||
- A class `K` with a `toString()` that returns `"K"`
|
||||
|
||||
In `package bbb`, `import` all the components from `aaa` and use them in a
|
||||
function `g()`. `g()` takes an `Int` parameter `i` and returns the following
|
||||
|
|
|
@ -18,10 +18,10 @@ the initial `number` equals the sum of the `remainder` and `result`.
|
|||
Store the Roman numerals in a mapping from `Int` to the associated `String`
|
||||
representation. For each pair `int = roman` starting from `1000 = M`:
|
||||
|
||||
- Divide `remainder` into `int` to discover how many times you need to repeat
|
||||
`roman` in the `result`.
|
||||
- Divide `remainder` into `int` to discover how many times you need to repeat
|
||||
`roman` in the `result`.
|
||||
|
||||
- Subtract the result from `remainder` to update it: `remainder -= remainder /
|
||||
int`.
|
||||
- Subtract the result from `remainder` to update it: `remainder -= remainder /
|
||||
int`.
|
||||
|
||||
</div>
|
|
@ -3,18 +3,18 @@ package complexConstructorsExercise3
|
|||
import atomictest.eq
|
||||
|
||||
class MultipleInit {
|
||||
val list = mutableListOf<String>()
|
||||
val initOrder = mutableListOf<String>()
|
||||
init {
|
||||
list += "one"
|
||||
initOrder += "one"
|
||||
}
|
||||
init {
|
||||
list += "two"
|
||||
initOrder += "two"
|
||||
}
|
||||
init {
|
||||
list += "three"
|
||||
initOrder += "three"
|
||||
}
|
||||
}
|
||||
|
||||
fun main() {
|
||||
MultipleInit().list eq "one two three"
|
||||
MultipleInit().initOrder eq "[one, two, three]"
|
||||
}
|
|
@ -3,14 +3,14 @@ files:
|
|||
- name: src/Task.kt
|
||||
visible: true
|
||||
placeholders:
|
||||
- offset: 166
|
||||
length: 13
|
||||
- offset: 171
|
||||
length: 18
|
||||
placeholder_text: // TODO
|
||||
- offset: 197
|
||||
length: 13
|
||||
- offset: 207
|
||||
length: 18
|
||||
placeholder_text: // TODO
|
||||
- offset: 228
|
||||
length: 15
|
||||
- offset: 243
|
||||
length: 20
|
||||
placeholder_text: // TODO
|
||||
- name: test/Tests.kt
|
||||
visible: false
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
## Complex Constructors (#3)
|
||||
|
||||
Show that multiple init sections are executed in declaration order. The
|
||||
`MultipleInit` class contains a `val list = mutableListOf<String>()`. Add the
|
||||
strings `"one"`, `"two"` and `"three"` to it in three different `init` blocks.
|
||||
Show that multiple init sections are executed in declaration order. The starter
|
||||
code contains `MultipleInit` class with a
|
||||
`val initOrder = mutableListOf<String>()` property. Add the strings `"one"`,
|
||||
`"two"` and `"three"` to the `initOrder` property in three different `init`
|
||||
blocks.
|
|
@ -14,8 +14,10 @@ composition by containing a `DataBase`. `Holder` contains a `test()` function
|
|||
which is used in `main()` to test three different `DataBase` classes, which
|
||||
you write:
|
||||
|
||||
- `NonRelational`, implemented with a `mutableListOf<Pair<String, String>>()`
|
||||
- `InMemory`, implemented with a `mutableMapOf<String, String>()`
|
||||
- `Mock`, implemented with two `String` `var`s.
|
||||
- `NonRelational`, implemented with a `mutableListOf<Pair<String, String>>()`
|
||||
|
||||
- `InMemory`, implemented with a `mutableMapOf<String, String>()`
|
||||
|
||||
- `Mock`, implemented with two `String` `var`s.
|
||||
|
||||
Write these classes so they pass the tests given in `main()`.
|
|
@ -2,10 +2,16 @@
|
|||
|
||||
Refactor `BatteryPet2.kt` to improve the design:
|
||||
|
||||
- In `Pet`, add an open function `settle()` which calls `trace("")`
|
||||
- In `Pet`, add an open function `feed()` which calls `energy.replenish()`
|
||||
- In `Dog`, override `settle()` to call `trace("Sitting...")
|
||||
- You no longer need `Dog.sit()`
|
||||
- Change `playWithDog(dog: Dog)` to `playWithPet(pet: Pet)`
|
||||
- Add a `CatFood` type of `Energy`, and define the associated `Cat` class
|
||||
- In `main()`, test all types of `Pet`
|
||||
- In `Pet`, add an open function `settle()` which calls `trace("")`
|
||||
|
||||
- In `Pet`, add an open function `feed()` which calls `energy.replenish()`
|
||||
|
||||
- In `Dog`, override `settle()` to call `trace("Sitting...")
|
||||
|
||||
- You no longer need `Dog.sit()`
|
||||
|
||||
- Change `playWithDog(dog: Dog)` to `playWithPet(pet: Pet)`
|
||||
|
||||
- Add a `CatFood` type of `Energy`, and define the associated `Cat` class
|
||||
|
||||
- In `main()`, test all types of `Pet`
|
|
@ -32,16 +32,17 @@ fun robotExplorer(stage: Stage) {
|
|||
stage.robot.room.col,
|
||||
stage.robot.room.row)
|
||||
// The red robot icon as a layer:
|
||||
val robotIcon = Layer.newBuilder()
|
||||
.withSize(Size.one())
|
||||
.withOffset(robotPosition())
|
||||
.build().apply {
|
||||
fill(stage.robot.symbol.toCharacterTile(
|
||||
style.withForegroundColor(
|
||||
ANSITileColor.RED)))
|
||||
}
|
||||
// As a layer, it can be moved around:
|
||||
grid.addLayer(robotIcon)
|
||||
val robotIcon = grid.addLayer(
|
||||
Layer.newBuilder()
|
||||
.withSize(Size.one())
|
||||
.withOffset(robotPosition())
|
||||
.build().apply {
|
||||
fill(
|
||||
stage.robot.symbol.toCharacterTile(
|
||||
style.withForegroundColor(
|
||||
ANSITileColor.RED)))
|
||||
}
|
||||
)
|
||||
// Update the character beneath the robot:
|
||||
fun updateSymbolAtRobot() {
|
||||
grid.cursorPosition = robotPosition()
|
||||
|
|
|
@ -24,4 +24,4 @@ class House(
|
|||
}
|
||||
```
|
||||
|
||||
Make your code satisfy the tests in `main()`.
|
||||
Make your code satisfy the tests in the starter code in `main()`.
|
|
@ -1,6 +1,6 @@
|
|||
## Secondary Constructors (#1)
|
||||
|
||||
Starter code contains two data classes `Flower1` and `Flower2`. Both define
|
||||
The starter code contains two data classes `Flower1` and `Flower2`. Both define
|
||||
only one property `type` of the type `String`. Add a secondary constructor to
|
||||
the class `Flower1` that takes no arguments and initializes `type` to `Daisy`.
|
||||
Add a default value `Daisy` to the constructor argument of the `Flower2` class.
|
||||
|
|
|
@ -1,18 +1,24 @@
|
|||
package secondaryConstructorsExercise1
|
||||
|
||||
import org.junit.Assert
|
||||
import org.junit.Test
|
||||
import util.loadMemberProperty
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
class TestSecondaryConstructorsExercise1 {
|
||||
@Test fun testSolution() {
|
||||
val flowerClass = Flower::class
|
||||
@Test fun testFlower1() {
|
||||
val flowerClass = Flower1::class
|
||||
val typeProp = loadMemberProperty(flowerClass, "type")
|
||||
val constructor = flowerClass.constructors.find { it.parameters.isEmpty() }
|
||||
?: throw AssertionError("Can't find constructor without parameters in the class 'Flower'")
|
||||
?: throw AssertionError("Can't find constructor without parameters in the class 'Flower1'")
|
||||
val flowerInstance = constructor.call()
|
||||
val typeValue = typeProp.getter.call(flowerInstance)
|
||||
|
||||
assertEquals("Daisy", typeValue, "After calling a constructor without parameters the value of 'type' should be 'Daisy'")
|
||||
}
|
||||
|
||||
@Test fun testFlower2() {
|
||||
//TODO: implement tests for Flower2 after description was slightly updated
|
||||
Assert.assertTrue("Tests not implemented for the task", false)
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
## Secondary Constructors (#2)
|
||||
|
||||
Starter code contains a `SpaceShip` class with a property `name: String`. Add
|
||||
a secondary constructor that takes two parameters `shipClass` (a `String`) and
|
||||
`model` (an `Int`) and builds a `SpaceShip` object taking `"$shipClass-$model"`
|
||||
as a name.
|
||||
The starter code contains a `SpaceShip` class with a property `name: String`.
|
||||
Add a secondary constructor that takes two parameters `shipClass` (a `String`)
|
||||
and `model` (an `Int`) and builds a `SpaceShip` object taking
|
||||
`"$shipClass-$model"` as a name.
|
|
@ -1,8 +1,8 @@
|
|||
## Lambda with Receiver (#1)
|
||||
|
||||
Implement `drawSquare()` to return a square of star symbols in a `String`
|
||||
using `buildString`. `drawSquare()` takes `width` as a parameter. For
|
||||
`width = 3` the following output is expected:
|
||||
using `buildString()`. `drawSquare()` takes `width` as a parameter.
|
||||
For example, `width = 3` produces the following output:
|
||||
|
||||
```text
|
||||
***
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
## Lambda with Receiver (#2)
|
||||
|
||||
Implement `buildMap()` which is similar to `buildList()`. `buildMap()`
|
||||
creates a mutable map and applies actions passed in a lambda parameter.
|
||||
creates a mutable `Map` and applies actions passed in a lambda parameter.
|
|
@ -1,6 +1,5 @@
|
|||
// UnitTesting/StateMachine.kt
|
||||
package unittesting
|
||||
|
||||
import unittesting.State.*
|
||||
|
||||
enum class State { ON, OFF, PAUSED }
|
||||
|
@ -8,7 +7,6 @@ enum class State { ON, OFF, PAUSED }
|
|||
class StateMachine {
|
||||
var state: State = OFF
|
||||
private set
|
||||
|
||||
private fun updateState(
|
||||
current: State, new: State
|
||||
) {
|
||||
|
@ -16,13 +14,9 @@ class StateMachine {
|
|||
state = new
|
||||
}
|
||||
}
|
||||
|
||||
fun start() = updateState(OFF, ON)
|
||||
|
||||
fun pause() = updateState(ON, PAUSED)
|
||||
|
||||
fun resume() = updateState(PAUSED, ON)
|
||||
|
||||
fun finish() {
|
||||
state = OFF
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
## Data Types (#3)
|
||||
|
||||
Guess the results of the following expressions and then check yourself using
|
||||
Kotlin:
|
||||
Guess the results of the following expressions and then check your guesses
|
||||
using Kotlin:
|
||||
|
||||
```kotlin
|
||||
val c1 = 'a' + 1
|
||||
|
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
Write three functions using expression body syntax:
|
||||
|
||||
- `f()` takes two `Int` parameters and returns the sum.
|
||||
- `g()` takes two `String` parameters and returns them, concatenated.
|
||||
- `h()` calls `println()` to display `"h()"`.
|
||||
- `f()` takes two `Int` parameters and returns the sum.
|
||||
|
||||
- `g()` takes two `String` parameters and returns them, concatenated.
|
||||
|
||||
- `h()` calls `println()` to display `"h()"`.
|
||||
|
||||
In 'main', assign the result of each function to a `val`, and specify the
|
||||
type. Then display on the console the types of all the functions `f()`, `g()`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// StringTemplates/StringConcatenation.kt
|
||||
|
||||
fun main() {
|
||||
val s = "hi\n" // [1]
|
||||
val s = "hi\n" // \n is a newline character
|
||||
val n = 11
|
||||
val d = 3.14
|
||||
println("first: " + s + "second: " +
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
## String Templates (#2)
|
||||
|
||||
Implement a `record()` function that returns a `String` in the form: `index.
|
||||
Implement a `record()` function that returns a string in the form: `index.
|
||||
[status] message`, where each item is passed into `record()` as a parameter.
|
||||
`record()` should add a line break at the end of the `String`.
|
||||
`record()` should add a line break at the end of the string.
|
|
@ -2,8 +2,12 @@
|
|||
|
||||
Create a `data` class called `AirlineTicket` containing the following fields:
|
||||
|
||||
- `firstName: String`
|
||||
- `lastName: String`
|
||||
- `ticket: Int`
|
||||
- `origin: String`
|
||||
- `destination: String`
|
||||
- `firstName: String`
|
||||
|
||||
- `lastName: String`
|
||||
|
||||
- `ticket: Int`
|
||||
|
||||
- `origin: String`
|
||||
|
||||
- `destination: String`
|
|
@ -5,9 +5,11 @@ which returns a `Triple` containing a `Boolean` and two `Int`s. If either `n1`
|
|||
or `n2` is less than zero, it returns `false` and two zeros. Otherwise, it
|
||||
returns a `Triple` containing:
|
||||
|
||||
- `true`
|
||||
- The sum of `n1` and `n2`
|
||||
- `n1` multiplied by `n2`
|
||||
- `true`
|
||||
|
||||
- The sum of `n1` and `n2`
|
||||
|
||||
- `n1` multiplied by `n2`
|
||||
|
||||
The starter code contains a `main()` with tests, showing the different between
|
||||
unpacking the `Triple` using `first`, `second` and `third` versus a
|
||||
|
|
|
@ -6,7 +6,10 @@ default argument of `false`.
|
|||
|
||||
In Australia, the seasons are defined by grouping the calendar months:
|
||||
|
||||
- Spring: The transition months September, October and November
|
||||
- Summer: The hottest months December, January and February
|
||||
- Autumn: The transition months March, April and May
|
||||
- Winter: The coldest months June, July and August
|
||||
- Spring: The transition months September, October and November
|
||||
|
||||
- Summer: The hottest months December, January and February
|
||||
|
||||
- Autumn: The transition months March, April and May
|
||||
|
||||
- Winter: The coldest months June, July and August
|
|
@ -4,11 +4,11 @@ Create a generic class called `CountingSet` that counts how many times
|
|||
each element was added to it. Implement it using a `private Map`. It should
|
||||
define three member functions:
|
||||
|
||||
- `add(element: E)` adds a new element. If the client programmer tries to `add()`
|
||||
an element that is already in the `CountingSet`, the corresponding counter should
|
||||
be increased.
|
||||
- `add(element: E)` adds a new element. If the client programmer tries to `add()`
|
||||
an element that is already in the `CountingSet`, the corresponding counter should
|
||||
be increased.
|
||||
|
||||
- `count(element: E)` returns the number of times each element was added to the
|
||||
`CountingSet`. If the element isn't present in `CountingSet` the result is zero.
|
||||
- `count(element: E)` returns the number of times each element was added to the
|
||||
`CountingSet`. If the element isn't present in `CountingSet` the result is zero.
|
||||
|
||||
- `toSet()` returns a set of stored elements.
|
||||
- `toSet()` returns a set of stored elements.
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Create a class called `Dog` with an overloaded `bark()` member function:
|
||||
|
||||
- `bark(n: Int)` displays `bark` repeated `n` times to the console.
|
||||
- `bark(n: Int)` displays `bark` repeated `n` times to the console.
|
||||
|
||||
- `bark(n: Int, say: String)` displays the contents of `say` repeated `n` times
|
||||
to the console.
|
||||
- `bark(n: Int, say: String)` displays the contents of `say` repeated `n` times
|
||||
to the console.
|
|
@ -10,11 +10,15 @@ other than parentheses and whitespace, throw an `IllegalArgumentException`.
|
|||
|
||||
Some examples:
|
||||
|
||||
- `()` is balanced
|
||||
- `(()` is unbalanced
|
||||
- `)(` is unbalanced
|
||||
- `( ()() )` is balanced
|
||||
- `*()` produces an `IllegalArgumentException`
|
||||
- `()` is balanced
|
||||
|
||||
- `(()` is unbalanced
|
||||
|
||||
- `)(` is unbalanced
|
||||
|
||||
- `( ()() )` is balanced
|
||||
|
||||
- `*()` produces an `IllegalArgumentException`
|
||||
|
||||
<div class="hint">
|
||||
|
||||
|
|
|
@ -3511,258 +3511,283 @@ public class TestAllExamples extends AbstractTestExamples {
|
|||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Complex Constructors/Exercise 3/src/Task.kt", complexConstructorsExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask206() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Secondary Constructors/Exercise 1/src/Task.kt", secondaryConstructorsExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask207() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Secondary Constructors/Exercise 2/src/Task.kt", secondaryConstructorsExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGardenItem1() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Secondary Constructors/Exercise 3/src/GardenItem.kt", secondaryConstructorsExercise3.GardenItemKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask206() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 1/src/Task.kt", baseClassInitializationExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask207() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 2/src/Task.kt", baseClassInitializationExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask208() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 3/src/Task.kt", baseClassInitializationExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance/Exercise 1/src/Task.kt", inheritanceExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask209() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 1/src/Task.kt", abstractClassesExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance/Exercise 2/src/Task.kt", inheritanceExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask210() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 2/src/Task.kt", abstractClassesExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance/Exercise 3/src/Task.kt", inheritanceExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask211() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 3/src/Task.kt", abstractClassesExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 1/src/Task.kt", baseClassInitializationExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask212() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 1/src/Task.kt", upcastingExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 2/src/Task.kt", baseClassInitializationExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask213() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 2/src/Task.kt", upcastingExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Base Class Initialization/Exercise 3/src/Task.kt", baseClassInitializationExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask214() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 3/src/Task.kt", upcastingExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 1/src/Task.kt", abstractClassesExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask215() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 1/src/Task.kt", polymorphismExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 2/src/Task.kt", abstractClassesExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask216() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 2/src/Task.kt", polymorphismExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Abstract Classes/Exercise 3/src/Task.kt", abstractClassesExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask217() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 3/src/Task.kt", polymorphismExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 1/src/Task.kt", upcastingExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask218() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 1/src/Task.kt", compositionExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 2/src/Task.kt", upcastingExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask219() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 2/src/Task.kt", compositionExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Upcasting/Exercise 3/src/Task.kt", upcastingExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask220() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 3/src/Task.kt", compositionExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 1/src/Task.kt", polymorphismExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask221() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 1/src/Task.kt", inheritanceAndExtensionsExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 2/src/Task.kt", polymorphismExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask222() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 2/src/Task.kt", inheritanceAndExtensionsExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Polymorphism/Exercise 3/src/Task.kt", polymorphismExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask223() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 3/src/Task.kt", inheritanceAndExtensionsExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 1/src/Task.kt", compositionExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask224() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 1/src/Task.kt", classDelegationExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 2/src/Task.kt", compositionExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask225() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 2/src/Task.kt", classDelegationExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Composition/Exercise 3/src/Task.kt", compositionExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask226() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 3/src/Task.kt", classDelegationExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 1/src/Task.kt", inheritanceAndExtensionsExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask227() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 1/src/Task.kt", downcastingExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 2/src/Task.kt", inheritanceAndExtensionsExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask228() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 2/src/Task.kt", downcastingExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inheritance & Extensions/Exercise 3/src/Task.kt", inheritanceAndExtensionsExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask229() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 3/src/Task.kt", downcastingExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 1/src/Task.kt", classDelegationExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask230() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 1/src/Task.kt", sealedClassesExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 2/src/Task.kt", classDelegationExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask231() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 2/src/Task.kt", sealedClassesExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Class Delegation/Exercise 3/src/Task.kt", classDelegationExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask232() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 3/src/Task.kt", sealedClassesExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 1/src/Task.kt", downcastingExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask233() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 1/src/Task.kt", nestedClassesExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 2/src/Task.kt", downcastingExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask234() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 2/src/Task.kt", nestedClassesExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Downcasting/Exercise 3/src/Task.kt", downcastingExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask235() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 3/src/Task.kt", nestedClassesExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 1/src/Task.kt", sealedClassesExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask236() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 4/src/Task.kt", nestedClassesExercise4.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 2/src/Task.kt", sealedClassesExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask237() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 1/src/Task.kt", innerClassesExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Sealed Classes/Exercise 3/src/Task.kt", sealedClassesExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask238() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 2/src/Task.kt", innerClassesExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 1/src/Task.kt", nestedClassesExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask239() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 3/src/Task.kt", innerClassesExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 2/src/Task.kt", nestedClassesExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask240() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 1/src/Task.kt", objectsExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 3/src/Task.kt", nestedClassesExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask241() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 2/src/Task.kt", objectsExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Nested Classes/Exercise 4/src/Task.kt", nestedClassesExercise4.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask242() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 3/src/Task.kt", objectsExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 1/src/Task.kt", innerClassesExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask243() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 1/src/Task.kt", companionObjectsExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 2/src/Task.kt", innerClassesExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask244() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 2/src/Task.kt", companionObjectsExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Inner Classes/Exercise 3/src/Task.kt", innerClassesExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask245() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 3/src/Task.kt", companionObjectsExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 1/src/Task.kt", objectsExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask246() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Object-Oriented Design/Exercise 2/src/Task.kt", objectOrientedDesignExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 2/src/Task.kt", objectsExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask247() {
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Object-Oriented Design/Exercise 3/src/Task.kt", objectOrientedDesignExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Objects/Exercise 3/src/Task.kt", objectsExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask248() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Lambda with Receiver/Exercise 1/src/Task.kt", lambdaWithReceiverExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 1/src/Task.kt", companionObjectsExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask249() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Lambda with Receiver/Exercise 2/src/Task.kt", lambdaWithReceiverExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 2/src/Task.kt", companionObjectsExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask250() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/The with() Function/Exercise 1/src/Task.kt", theWithFunctionExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Companion Objects/Exercise 3/src/Task.kt", companionObjectsExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask251() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/The with() Function/Exercise 2/src/Task.kt", theWithFunctionExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Object-Oriented Design/Exercise 2/src/Task.kt", objectOrientedDesignExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask252() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 1/src/Task.kt", scopeFunctionsExercise1.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Object-Oriented Programming/Object-Oriented Design/Exercise 3/src/Task.kt", objectOrientedDesignExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask253() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 2/src/Task.kt", scopeFunctionsExercise2.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Lambda with Receiver/Exercise 1/src/Task.kt", lambdaWithReceiverExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask254() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 3/src/Task.kt", scopeFunctionsExercise3.TaskKt::main);
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Lambda with Receiver/Exercise 2/src/Task.kt", lambdaWithReceiverExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask255() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/The with() Function/Exercise 1/src/Task.kt", theWithFunctionExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask256() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/The with() Function/Exercise 2/src/Task.kt", theWithFunctionExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask257() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 1/src/Task.kt", scopeFunctionsExercise1.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask258() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 2/src/Task.kt", scopeFunctionsExercise2.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask259() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Scope Functions/Exercise 3/src/Task.kt", scopeFunctionsExercise3.TaskKt::main);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTask260() {
|
||||
testExample("../AtomicKotlinCourse/Power Tools/Hashing/Exercise 1/src/Task.kt", hashingExercise1.TaskKt::main);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue