Skip to content

Commit ee96907

Browse files
author
evitwilly
committed
refactored Builder pattern
1 parent 7484f2f commit ee96907

File tree

7 files changed

+12
-26
lines changed

7 files changed

+12
-26
lines changed
Binary file not shown.
Binary file not shown.

.gradle/7.1/fileHashes/fileHashes.bin

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
Binary file not shown.

src/main/kotlin/design_patterns/Builder.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@ class Pony1 {
2828
this.city = city
2929
}
3030

31-
fun name() = name
32-
fun family() = family
33-
fun cutieMark() = cutieMark
34-
fun city() = city
31+
override fun toString(): String {
32+
return "$name, $family, $cutieMark, $city"
33+
}
3534

3635
class Builder {
3736
private var name: String = ""
@@ -73,10 +72,9 @@ class Pony2 {
7372
private var cutieMark: String = ""
7473
private var city: String = ""
7574

76-
fun name() = name
77-
fun family() = family
78-
fun cutieMark() = cutieMark
79-
fun city() = city
75+
override fun toString(): String {
76+
return "$name, $family, $cutieMark, $city"
77+
}
8078

8179
companion object {
8280
fun newBuilder() = Pony2().Builder()
@@ -117,8 +115,7 @@ class Pony3(
117115
private var cutieMark: String = "",
118116
private var city: String = ""
119117
) {
120-
fun name() = name
121-
fun family() = family
122-
fun cutieMark() = cutieMark
123-
fun city() = city
118+
override fun toString(): String {
119+
return "$name, $family, $cutieMark, $city"
120+
}
124121
}

src/test/kotlin/design_patterns/BuilderTest.kt

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ internal class BuilderTest {
1919
.changeFamily(family)
2020
.build()
2121

22-
assertEquals(name, pony.name())
23-
assertEquals(cutieMark, pony.cutieMark())
24-
assertEquals(city, pony.city())
25-
assertEquals(family, pony.family())
22+
assertEquals("$name, $family, $cutieMark, $city", pony.toString())
2623
}
2724

2825
@Test
@@ -39,10 +36,7 @@ internal class BuilderTest {
3936
.changeFamily(family)
4037
.build()
4138

42-
assertEquals(name, pony.name())
43-
assertEquals(cutieMark, pony.cutieMark())
44-
assertEquals(city, pony.city())
45-
assertEquals(family, pony.family())
39+
assertEquals("$name, $family, $cutieMark, $city", pony.toString())
4640
}
4741

4842
@Test
@@ -54,12 +48,7 @@ internal class BuilderTest {
5448

5549
val pony = Pony3(name, family, city = city)
5650

57-
assertEquals(name, pony.name())
58-
assertEquals("", pony.cutieMark())
59-
assertEquals(city, pony.city())
60-
assertEquals(family, pony.family())
51+
assertEquals("$name, $family, , $city", pony.toString())
6152
}
6253

63-
64-
6554
}

0 commit comments

Comments
 (0)