refactored Builder pattern
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -28,10 +28,9 @@ class Pony1 {
|
||||
this.city = city
|
||||
}
|
||||
|
||||
fun name() = name
|
||||
fun family() = family
|
||||
fun cutieMark() = cutieMark
|
||||
fun city() = city
|
||||
override fun toString(): String {
|
||||
return "$name, $family, $cutieMark, $city"
|
||||
}
|
||||
|
||||
class Builder {
|
||||
private var name: String = ""
|
||||
@ -73,10 +72,9 @@ class Pony2 {
|
||||
private var cutieMark: String = ""
|
||||
private var city: String = ""
|
||||
|
||||
fun name() = name
|
||||
fun family() = family
|
||||
fun cutieMark() = cutieMark
|
||||
fun city() = city
|
||||
override fun toString(): String {
|
||||
return "$name, $family, $cutieMark, $city"
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newBuilder() = Pony2().Builder()
|
||||
@ -117,8 +115,7 @@ class Pony3(
|
||||
private var cutieMark: String = "",
|
||||
private var city: String = ""
|
||||
) {
|
||||
fun name() = name
|
||||
fun family() = family
|
||||
fun cutieMark() = cutieMark
|
||||
fun city() = city
|
||||
override fun toString(): String {
|
||||
return "$name, $family, $cutieMark, $city"
|
||||
}
|
||||
}
|
||||
@ -19,10 +19,7 @@ internal class BuilderTest {
|
||||
.changeFamily(family)
|
||||
.build()
|
||||
|
||||
assertEquals(name, pony.name())
|
||||
assertEquals(cutieMark, pony.cutieMark())
|
||||
assertEquals(city, pony.city())
|
||||
assertEquals(family, pony.family())
|
||||
assertEquals("$name, $family, $cutieMark, $city", pony.toString())
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -39,10 +36,7 @@ internal class BuilderTest {
|
||||
.changeFamily(family)
|
||||
.build()
|
||||
|
||||
assertEquals(name, pony.name())
|
||||
assertEquals(cutieMark, pony.cutieMark())
|
||||
assertEquals(city, pony.city())
|
||||
assertEquals(family, pony.family())
|
||||
assertEquals("$name, $family, $cutieMark, $city", pony.toString())
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -54,12 +48,7 @@ internal class BuilderTest {
|
||||
|
||||
val pony = Pony3(name, family, city = city)
|
||||
|
||||
assertEquals(name, pony.name())
|
||||
assertEquals("", pony.cutieMark())
|
||||
assertEquals(city, pony.city())
|
||||
assertEquals(family, pony.family())
|
||||
assertEquals("$name, $family, , $city", pony.toString())
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user