Skip to content

Commit 2318329

Browse files
committed
wip
1 parent 5fbd5d3 commit 2318329

File tree

17 files changed

+65
-47
lines changed

17 files changed

+65
-47
lines changed

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies {
2222
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.1")
2323
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
2424

25-
testImplementation("org.scalatest:scalatest_2.13:3.2.17")
25+
testImplementation("org.scalatest:scalatest_3:3.2.17")
2626

2727
implementation("io.vavr:vavr:0.10.4")
2828
implementation("org.jetbrains.kotlin:kotlin-stdlib")
@@ -51,7 +51,7 @@ scala {
5151
tasks {
5252
withType<ScalaCompile>().configureEach {
5353
scalaCompileOptions.apply {
54-
additionalParameters = listOf("-feature", "-deprecation")
54+
additionalParameters = listOf("-feature", "_")
5555
}
5656
}
5757

src/main/scala/s/chain_of_resposibility/Trouble.scala renamed to src/main/scala/s/chain_of_responsibility/Trouble.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package s.chain_of_resposibility
1+
package s.chain_of_responsibility
22

33
final case class Trouble(number: Int) {
44
// トラブルの文字列表現

src/main/scala/s/chain_of_resposibility/inheritance/Support.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/Support.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.inheritance
1+
package s.chain_of_responsibility.inheritance
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
abstract class Support(
66
private val name: String,

src/main/scala/s/chain_of_resposibility/inheritance/SupportFactory.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/SupportFactory.scala

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
package s.chain_of_resposibility.inheritance
1+
package s.chain_of_responsibility.inheritance
22

3-
import s.chain_of_resposibility.inheritance.supports.{
4-
LimitSupport,
5-
NoSupport,
6-
OddSupport,
7-
SpecialSupport
8-
}
3+
import s.chain_of_responsibility.inheritance.supports.{LimitSupport, NoSupport, OddSupport, SpecialSupport}
94

105
object SupportFactory {
116
def createNoSupport(name: String, next: Option[Support]) =

src/main/scala/s/chain_of_resposibility/inheritance/supports/LimitSupport.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/supports/LimitSupport.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package s.chain_of_resposibility.inheritance.supports
1+
package s.chain_of_responsibility.inheritance.supports
22

3-
import s.chain_of_resposibility.Trouble
4-
import s.chain_of_resposibility.inheritance.Support
3+
import s.chain_of_responsibility.Trouble
4+
import s.chain_of_responsibility.inheritance.Support
55

66
final class LimitSupport(
77
name: String,

src/main/scala/s/chain_of_resposibility/inheritance/supports/NoSupport.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/supports/NoSupport.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package s.chain_of_resposibility.inheritance.supports
1+
package s.chain_of_responsibility.inheritance.supports
22

3-
import s.chain_of_resposibility.Trouble
4-
import s.chain_of_resposibility.inheritance.Support
3+
import s.chain_of_responsibility.Trouble
4+
import s.chain_of_responsibility.inheritance.Support
55

66
final class NoSupport(name: String, next: Option[Support])
77
extends Support(name, next) {

src/main/scala/s/chain_of_resposibility/inheritance/supports/OddSupport.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/supports/OddSupport.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package s.chain_of_resposibility.inheritance.supports
1+
package s.chain_of_responsibility.inheritance.supports
22

3-
import s.chain_of_resposibility.Trouble
4-
import s.chain_of_resposibility.inheritance.Support
3+
import s.chain_of_responsibility.Trouble
4+
import s.chain_of_responsibility.inheritance.Support
55

66
final class OddSupport(name: String, next: Option[Support])
77
extends Support(name, next) {

src/main/scala/s/chain_of_resposibility/inheritance/supports/SpecialSupport.scala renamed to src/main/scala/s/chain_of_responsibility/inheritance/supports/SpecialSupport.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package s.chain_of_resposibility.inheritance.supports
1+
package s.chain_of_responsibility.inheritance.supports
22

3-
import s.chain_of_resposibility.Trouble
4-
import s.chain_of_resposibility.inheritance.Support
3+
import s.chain_of_responsibility.Trouble
4+
import s.chain_of_responsibility.inheritance.Support
55

66
final class SpecialSupport(
77
name: String,

src/main/scala/s/chain_of_resposibility/like/functional/LimitSupport.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/LimitSupport.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object LimitSupport {
66
def create(name: String, limit: Int): PartialFunction[Trouble, Unit] = {

src/main/scala/s/chain_of_resposibility/like/functional/Main.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/Main.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object Main extends App {
66
val alice = NoSupport.create("Alice");

src/main/scala/s/chain_of_resposibility/like/functional/MessagePrinter.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/MessagePrinter.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object MessagePrinter {
66
def done(name: String, trouble: Trouble): Unit = {

src/main/scala/s/chain_of_resposibility/like/functional/NoSupport.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/NoSupport.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object NoSupport {
66
def create(name: String): PartialFunction[Trouble, Trouble] = {

src/main/scala/s/chain_of_resposibility/like/functional/OddSupport.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/OddSupport.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object OddSupport {
66
def create(name: String): PartialFunction[Trouble, Unit] = {

src/main/scala/s/chain_of_resposibility/like/functional/SpecialSupport.scala renamed to src/main/scala/s/chain_of_responsibility/like/functional/SpecialSupport.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package s.chain_of_resposibility.like.functional
1+
package s.chain_of_responsibility.like.functional
22

3-
import s.chain_of_resposibility.Trouble
3+
import s.chain_of_responsibility.Trouble
44

55
object SpecialSupport {
66

src/main/scala/s/decorator/like/aop/Main.scala

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,10 @@ object Main {
1515
b2.show()
1616
b3.show()
1717

18-
/** Can't build like this
19-
* val b4 = Display.ofSideBorder(
20-
* Display.ofFullBorder(
21-
* Display.ofSideBorder(
22-
* Display.ofFullBorder(Display.ofString("Hello, world.")),
23-
* '*'
24-
* )
25-
* ),
26-
* '/'
27-
* )
28-
* b4.show()
18+
/** Can't build like this val b4 = Display.ofSideBorder(
19+
* Display.ofFullBorder( Display.ofSideBorder(
20+
* Display.ofFullBorder(Display.ofString("Hello, world.")), '*' ) ), '/' )
21+
* b4.show()
2922
*/
3023
}
3124
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package s.chain_of_responsibility.like.functional
2+
3+
import org.scalatest.freespec.AnyFreeSpec
4+
import s.chain_of_responsibility.Trouble
5+
6+
class ChainOfResponsibilitySpec extends AnyFreeSpec {
7+
8+
"Chain of Responsibility" - {
9+
"should work" in {
10+
val alice = NoSupport.create("Alice");
11+
val bob = LimitSupport.create("Bob", 100);
12+
val charlie = SpecialSupport.create("Charlie", 429);
13+
val diana = LimitSupport.create("Diana", 200);
14+
val elmo = OddSupport.create("Elmo");
15+
val fred = LimitSupport.create("Fred", 300);
16+
17+
val chain =
18+
alice
19+
.orElse(bob)
20+
.orElse(charlie)
21+
.orElse(diana)
22+
.orElse(elmo)
23+
.orElse(fred);
24+
25+
for (i <- 0 to 500 by 33) {
26+
chain.applyOrElse(Trouble(i), MessagePrinter.fail)
27+
}
28+
}
29+
}
30+
}

0 commit comments

Comments
 (0)