Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

‎.gradle/7.1/fileHashes/fileHashes.bin

0 Bytes
Binary file not shown.

‎.gradle/7.1/fileHashes/fileHashes.lock

0 Bytes
Binary file not shown.
0 Bytes
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)

AltStyle によって変換されたページ (->オリジナル) /