Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
- если передан `Char` параметр, то объединение делается этим символом

## 3. Тестовая функция для пункта №2
Напишите функцию-тест для второго пункта. Проверьте следующие условия для строк `str1` и `str2` и `str3`:
Напишите функцию-тест для первого пункта. Проверьте следующие условия для строк `str1` и `str2` и `str3`:

- Если `Char` не передан, ваша функция должна вернуть: `str1 str2 str3`
- Если `Char` задан как `,`, ваша функция должна вернуть: `str1,str2,str3`
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'org.jetbrains.kotlin.jvm' version '2.2.10'
id 'org.jetbrains.kotlin.jvm' version '1.9.10'
}

test {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Mon Oct 09 12:41:49 CEST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
39 changes: 39 additions & 0 deletions src/main/kotlin/ru/otus/homework/MyFunctions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package ru.otus.homework

import java.time.LocalDate

fun sum(first: Int, second: Int): Int {
return first + second
}

fun sum(first: String, second: String, ch: String = " " ): String {
if (first.isEmpty() == true)
return second
return first + ch + second
}

fun FirstFunction(n1: Int, n2: Int, vararg params: Int): Int {
var nRes = sum(n1, n2)
params.forEach({nRes = sum(nRes, it)})
return nRes
}

fun SecondFunction(ch: Char = ' ', vararg params: String): String {
// Порядок изменить нельзя. vararg всегда должены быть после типизированных параметров.
var sRes = ""
params.forEach { sRes = sum(sRes, it, ch.toString() ) }
return sRes
}

fun MyLoop() {
for (i in 0 until 10) {
Thread.sleep(100)
}
}

fun Meashuring( op: () -> Unit ) {
println("Begin: ${System.currentTimeMillis().toString()}")
op()
println("End: ${System.currentTimeMillis().toString()}")
}

27 changes: 27 additions & 0 deletions src/test/kotlin/ru/otus/homework/TestHomeWork.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ru.otus.homework

import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test

class TestHomeWork {
@Test
fun TestMyWork1() {
Assertions.assertEquals(
6,
FirstFunction(1, 2, 3)
)
}

@Test
fun TestMyWork2() {
Assertions.assertEquals(
"1,2,3",
SecondFunction(',', "1", "2", "3")
)
}

@Test
fun TestMyWork3() {
Meashuring(::MyLoop)
}
}