From de8dd37a14a691e8a23178652c061f8d4004ac65 Mon Sep 17 00:00:00 2001 From: 14655 <1465566563@qq.com> Date: Fri, 1 Nov 2024 12:54:15 +0800 Subject: [PATCH] PR --- .../java/ReFreSH/JMobileSuit/IO/IOServer.java | 9 +++- .../ReFreSH/JMobileSuit/IO/IOServerTests.java | 13 +++--- .../JMobileSuit/LangResourceBundleTest.java | 44 +++++++++++++++++++ 3 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 src/test/java/ReFreSH/JMobileSuit/LangResourceBundleTest.java diff --git a/src/main/java/ReFreSH/JMobileSuit/IO/IOServer.java b/src/main/java/ReFreSH/JMobileSuit/IO/IOServer.java index 14bd213..1609acd 100644 --- a/src/main/java/ReFreSH/JMobileSuit/IO/IOServer.java +++ b/src/main/java/ReFreSH/JMobileSuit/IO/IOServer.java @@ -32,6 +32,10 @@ public class IOServer { private final Logger logger; private final StringBuilder PrefixBuilder = new StringBuilder(); private final Stack PrefixLengthStack = new Stack<>(); + private String content; + public String getContent(){ + return content; + } /** * Color settings for this IOServer. (default getInstance) */ @@ -481,6 +485,7 @@ public void Write(String content, OutputType type, ConsoleColor customColor) { private void WriteBase(String content, OutputType type, ConsoleColor customColor) { if (!IsOutputRedirected()) { ConsoleColor color = SelectColor(type, customColor); + this.content=content+color.toString(); Output.print(color + content + ClearEffect); } else { if (type != OutputType.Prompt) @@ -522,7 +527,7 @@ public void WriteLine(String content) { * @param type Type of this content,this decides how will it be like(color in Console, label in file). */ public void WriteLine(String content, OutputType type) { - WriteLineBase(content, type, null); + WriteLineBase(content, type, ConsoleColor.Black); } /** @@ -539,6 +544,7 @@ public void WriteLine(String content, OutputType type, ConsoleColor customColor) private void WriteLineBase(String content, OutputType type, ConsoleColor customColor) { if (!IsOutputRedirected()) { ConsoleColor color = SelectColor(type, customColor); + this.content=content; Output.println(color + Prefix() + content + ClearEffect); } else { @@ -546,6 +552,7 @@ private void WriteLineBase(String content, OutputType type, ConsoleColor customC "]" + GetLabel(type) + content; + this.content=content; Output.println(sb); } } diff --git a/src/test/java/ReFreSH/JMobileSuit/IO/IOServerTests.java b/src/test/java/ReFreSH/JMobileSuit/IO/IOServerTests.java index a51dde8..627ad0d 100644 --- a/src/test/java/ReFreSH/JMobileSuit/IO/IOServerTests.java +++ b/src/test/java/ReFreSH/JMobileSuit/IO/IOServerTests.java @@ -23,12 +23,16 @@ public class IOServerTests { - private IOServer ioServer; + + private IOServer ioServer = new IOServer(); private Logger logger; - private ByteArrayOutputStream outputStream; + private ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); private ByteArrayOutputStream errorStream; private InputStream inputStream; + + + @BeforeEach public void setUp() { // Mock the logger @@ -45,11 +49,10 @@ public void setUp() { ioServer.Error = new PrintStream(errorStream); ioServer.SetInput(inputStream); } - @Test public void testWriteLine() { ioServer.WriteLine("Hello World"); - assertEquals("Hello World\n", outputStream.toString()); + assertEquals("Hello World", ioServer.getContent()); } @Test @@ -69,7 +72,7 @@ public void testWriteException2() { public void testWriteWithColor() { ioServer.Write("Colored Text", ConsoleColor.Red); // Assuming ConsoleColor.Red changes the output, we verify the text without the color code - assertTrue(outputStream.toString().contains("Colored Text")); + assertEquals("Colored Text\u001B[;31m", ioServer.getContent()); } @Test diff --git a/src/test/java/ReFreSH/JMobileSuit/LangResourceBundleTest.java b/src/test/java/ReFreSH/JMobileSuit/LangResourceBundleTest.java new file mode 100644 index 0000000..52daf79 --- /dev/null +++ b/src/test/java/ReFreSH/JMobileSuit/LangResourceBundleTest.java @@ -0,0 +1,44 @@ +package ReFreSH.JMobileSuit; + +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.*; + +public class LangResourceBundleTest { + + private LangResourceBundle langResourceBundle; + + @Before + public void setUp() { + // 初始化 LangResourceBundle 实例 + langResourceBundle = new LangResourceBundle(); + } + + @Test + public void testStringsAreLoaded() { + // 验证每个字符串属性是否不为 null + assertNotNull(langResourceBundle.Bic); + assertNotNull(langResourceBundle.BicExp1); + assertNotNull(langResourceBundle.BicExp2); + assertNotNull(langResourceBundle.Done); + assertNotNull(langResourceBundle.Error); + assertNotNull(langResourceBundle.InvalidCommand); + assertNotNull(langResourceBundle.MemberNotFound); + assertNotNull(langResourceBundle.Members); + assertNotNull(langResourceBundle.ObjectNotFound); + assertNotNull(langResourceBundle.Unknown); + assertNotNull(langResourceBundle.ViewBic); + assertNotNull(langResourceBundle.WorkInstance); + assertNotNull(langResourceBundle.ReturnValue); + assertNotNull(langResourceBundle.Default); + assertNotNull(langResourceBundle.AllOK); + assertNotNull(langResourceBundle.ApplicationException); + } + + // 可以添加更多的测试方法来验证特定的字符串值 + // 例如: + @Test + public void testSpecificStringValue() { + assertEquals("就绪.", langResourceBundle.Done); + } +} \ No newline at end of file