From 30bb894b7ce2a426bdfe9fa93456255053d02187 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Wed, 28 Apr 2021 21:18:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82:=20Text?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/mc/protocol/model/ServerInfo.java | 2 + .../main/java/mc/protocol/model/lombok.config | 1 - .../java/mc/protocol/model/text/Text.java | 46 +++++++++++++++++++ .../java/mc/protocol/model/text/TextTest.java | 30 ++++++++++++ 4 files changed, 78 insertions(+), 1 deletion(-) delete mode 100644 protocol/src/main/java/mc/protocol/model/lombok.config create mode 100644 protocol/src/main/java/mc/protocol/model/text/Text.java create mode 100644 protocol/src/test/java/mc/protocol/model/text/TextTest.java diff --git a/protocol/src/main/java/mc/protocol/model/ServerInfo.java b/protocol/src/main/java/mc/protocol/model/ServerInfo.java index 002d52b..6924d14 100644 --- a/protocol/src/main/java/mc/protocol/model/ServerInfo.java +++ b/protocol/src/main/java/mc/protocol/model/ServerInfo.java @@ -5,9 +5,11 @@ import lombok.Setter; import lombok.ToString; import lombok.RequiredArgsConstructor; import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import java.util.List; +@Accessors(fluent = true) @Getter @Setter @ToString diff --git a/protocol/src/main/java/mc/protocol/model/lombok.config b/protocol/src/main/java/mc/protocol/model/lombok.config deleted file mode 100644 index f4387a7..0000000 --- a/protocol/src/main/java/mc/protocol/model/lombok.config +++ /dev/null @@ -1 +0,0 @@ -lombok.accessors.fluent=true \ No newline at end of file diff --git a/protocol/src/main/java/mc/protocol/model/text/Text.java b/protocol/src/main/java/mc/protocol/model/text/Text.java new file mode 100644 index 0000000..94607a2 --- /dev/null +++ b/protocol/src/main/java/mc/protocol/model/text/Text.java @@ -0,0 +1,46 @@ +package mc.protocol.model.text; + +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@EqualsAndHashCode +@ToString +public class Text { + + public static final Text EMPTY = of(""); + + private String content; + + Text(String content) { + this.content = content; + } + + public static Text of(String content) { + return new Text(content); + } + + public static Text.Builder builder() { + return new Text.Builder(); + } + + public static class Builder { + private String content; + + public Builder append(String content) { + if (this.content == null) { + this.content = content; + } else { + this.content += content; + } + return this; + } + + public Text build() { + if (content == null) { + return EMPTY; + } else { + return new Text(content); + } + } + } +} diff --git a/protocol/src/test/java/mc/protocol/model/text/TextTest.java b/protocol/src/test/java/mc/protocol/model/text/TextTest.java new file mode 100644 index 0000000..ed3d423 --- /dev/null +++ b/protocol/src/test/java/mc/protocol/model/text/TextTest.java @@ -0,0 +1,30 @@ +package mc.protocol.model.text; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class TextTest { + + @Test + void emptyTest() { + Text actual = Text.builder().build(); + Text expected = Text.EMPTY; + + assertEquals(expected, actual); + } + + @Test + void contentTest() { + Text actual; + Text expected; + + actual = Text.builder().append("123").build(); + expected = new Text("123"); + assertEquals(expected, actual); + + actual = Text.builder().append("123").append("456").build(); + expected = new Text("123456"); + assertEquals(expected, actual); + } +} \ No newline at end of file