From 216c3922faae3ee8bae72d2e31239c693ee221e7 Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Mon, 5 Aug 2024 00:20:50 +0200 Subject: [PATCH] Formatierung --- .../kreth/property2java/GeneratorTests.java | 276 +++++++++--------- .../kreth/property2java/TestImplConfig.java | 2 +- .../processor/Property2JavaGeneratorTest.java | 49 ++-- 3 files changed, 156 insertions(+), 171 deletions(-) diff --git a/src/test/java/de/kreth/property2java/GeneratorTests.java b/src/test/java/de/kreth/property2java/GeneratorTests.java index ae925b1..a00559a 100644 --- a/src/test/java/de/kreth/property2java/GeneratorTests.java +++ b/src/test/java/de/kreth/property2java/GeneratorTests.java @@ -33,151 +33,137 @@ import de.kreth.property2java.processor.Format; class GeneratorTests { - private String path = "application.properties"; - - private Configuration config; - - private Generator generator; - - @BeforeEach - void setUp() throws Exception { - Map input = new HashMap<>(); - input.put(path, testProperties()); - - config = Mockito.spy(TestImplConfig.class); - when(config.getRootPath()).thenReturn(new File(".").toPath()); - when(config.getFormat()).thenReturn(Format.WithInitializer); - when(config.getInput()).thenReturn(input); - when(config.mapFilenameToClassName(anyString())).thenCallRealMethod(); - when(config.outputCharset()).thenCallRealMethod(); - - generator = new Generator(config); - } - - @Test - void testClassDefinition() throws IOException, GeneratorException { - - when(config.getPackage()).thenReturn("de.kreth.property2java"); - when(config.mapFilenameToClassName(anyString())).thenCallRealMethod(); - - StringWriter out = new StringWriter(); - when(config.outWriter(anyString())).thenReturn(out); - - generator.start(); - - String sourceCode = out.toString().trim(); - StringTokenizer sourceTokenizer = new StringTokenizer(sourceCode, "\n"); - String linePackage = null; - String lineClass = null; - int countOpenBaces = 0; - int countCloseBaces = 0; - while (sourceTokenizer.hasMoreTokens()) { - String line = sourceTokenizer.nextToken(); - if (line.trim().startsWith("package")) { - linePackage = line; - } else if (line.trim().startsWith("public enum")) { - lineClass = line; - } - if (line.contains("{")) { - countOpenBaces++; - } - if (line.contains("}")) { - countCloseBaces++; - } + private String path = "application.properties"; + + private Configuration config; + + private Generator generator; + + @BeforeEach + void setUp() throws Exception { + Map input = new HashMap<>(); + input.put(path, testProperties()); + + config = Mockito.spy(TestImplConfig.class); + when(config.getRootPath()).thenReturn(new File(".").toPath()); + when(config.getFormat()).thenReturn(Format.WithInitializer); + when(config.getInput()).thenReturn(input); + when(config.mapFilenameToClassName(anyString())).thenCallRealMethod(); + when(config.outputCharset()).thenCallRealMethod(); + + generator = new Generator(config); + } + + @Test + void testClassDefinition() throws IOException, GeneratorException { + + when(config.getPackage()).thenReturn("de.kreth.property2java"); + when(config.mapFilenameToClassName(anyString())).thenCallRealMethod(); + + StringWriter out = new StringWriter(); + when(config.outWriter(anyString())).thenReturn(out); + + generator.start(); + + String sourceCode = out.toString().trim(); + StringTokenizer sourceTokenizer = new StringTokenizer(sourceCode, "\n"); + String linePackage = null; + String lineClass = null; + int countOpenBaces = 0; + int countCloseBaces = 0; + while (sourceTokenizer.hasMoreTokens()) { + String line = sourceTokenizer.nextToken(); + if (line.trim().startsWith("package")) { + linePackage = line; + } else if (line.trim().startsWith("public enum")) { + lineClass = line; + } + if (line.contains("{")) { + countOpenBaces++; + } + if (line.contains("}")) { + countCloseBaces++; + } + } + + assertEquals(countCloseBaces, countOpenBaces, + "Count of Braces doesn't match. Open = " + countOpenBaces + ", Close = " + countCloseBaces); + + assertNotNull(linePackage); + assertNotNull(lineClass); + + assertThat(linePackage, + Matchers.stringContainsInOrder(Arrays.asList("package", "de.kreth.property2java", ";"))); + + assertThat(lineClass, + Matchers.stringContainsInOrder(Arrays.asList("public", "enum", "Application_Properties"))); + + } + + @Test + void testOneInputGeneratesOneOutput() throws IOException, GeneratorException { + + Writer out = mock(Writer.class); + Writer nonOut = mock(Writer.class); + when(config.outWriter(anyString())).thenReturn(out, nonOut); + generator.start(); + verify(out).close(); + verify(nonOut, never()).close(); + verify(nonOut, never()).flush(); } - assertEquals(countCloseBaces, countOpenBaces, - "Count of Braces doesn't match. Open = " + countOpenBaces + ", Close = " + countCloseBaces); - - assertNotNull(linePackage); - assertNotNull(lineClass); - - assertThat(linePackage, - Matchers.stringContainsInOrder(Arrays.asList("package", "de.kreth.property2java", ";"))); - - assertThat(lineClass, - Matchers.stringContainsInOrder(Arrays.asList("public", "enum", "Application_Properties"))); - - } - - @Test - void testOneInputGeneratesOneOutput() throws IOException, GeneratorException { - - Writer out = mock(Writer.class); - Writer nonOut = mock(Writer.class); - when(config.outWriter(anyString())).thenReturn(out, nonOut); - generator.start(); - verify(out).close(); - verify(nonOut, never()).close(); - verify(nonOut, never()).flush(); - } - - @Test - void testKeys() throws IOException, GeneratorException { - - StringWriter out = new StringWriter(); - when(config.outWriter(anyString())).thenReturn(out); - generator.start(); - - List lines = out.toString().lines().filter(line -> line.contains(" (\"")) - .collect(Collectors.toList()); - - assertEquals(21, lines.size()); - assertLineMatch(lines, "label", "label"); - assertLineMatch(lines, "label_addarticle", "label.addarticle"); - assertLineMatch(lines, "label_user_register", "label.user.register"); - assertLineMatch(lines, "message_article_priceerror", "message.article.priceerror"); - assertLineMatch(lines, "message_invoiceitem_startbeforeend", - "message.invoiceitem.startbeforeend"); - assertLineMatch(lines, "message_invoiceitem_allfieldsmustbeset", - "message.invoiceitem.allfieldsmustbeset"); - } - - private void assertLineMatch(List lines, String key, String expected) { - Optional found = lines.stream().filter(line -> keyMatches(line, key)) - .findFirst(); - - assertTrue(found.isPresent(), "No line found with key = " + key); - final String line = found.get().trim(); - int indexEquals = line.indexOf('('); - String value = line.substring(indexEquals + 1).trim().substring(1); - value = value.substring(0, value.length() - 3); - assertEquals(expected, value, "Line \"" + line + "\" don't match expected Value \"" + expected + "\""); - - } - - private boolean keyMatches(String line, String key) { - line = line.toLowerCase(); - key = key.toLowerCase(); - return line.contains("\t" + key + " "); - } - - private StringReader testProperties() { - return new StringReader("\r\n" + - "label = \r\n" + - "\r\n" + - "label.addarticle = Add Article\r\n" + - "label.cancel = Cancel\r\n" + - "label.close = Close\r\n" + - "label.delete = Delete\r\n" + - "label.discart = Discart\r\n" + - "label.loggedin = Logged in:\r\n" + - "label.logout = Logout\r\n" + - "label.ok = OK\r\n" + - "label.store = Store\r\n" + - "label.preview = Preview\r\n" + - "label.open = Open\r\n" + - "label.user.register = Register\r\n" + - "\r\n" + - "message.article.priceerror = Please set the price.\r\n" + - "message.delete.text = Delete {0}?\r\n" + - "message.delete.title = Really delete?\r\n" + - "message.invoiceitem.allfieldsmustbeset = Start, end and article must not be \\r\\n" + - " empty!\r\n" + - "message.invoiceitem.startbeforeend = End must be later than start.\r\n" + - "message.user.create.success = Thanks {0} created!\r\n" + - "message.user.loginfailure = Login Error! Wrong user or password?\r\n" + - "message.user.passwordmissmatch = Passwords don't match.\r\n" + - ""); - } + @Test + void testKeys() throws IOException, GeneratorException { + + StringWriter out = new StringWriter(); + when(config.outWriter(anyString())).thenReturn(out); + generator.start(); + + List lines = out.toString().lines().filter(line -> line.contains(" (\"")).collect(Collectors.toList()); + + assertEquals(21, lines.size()); + assertLineMatch(lines, "label", "label"); + assertLineMatch(lines, "label_addarticle", "label.addarticle"); + assertLineMatch(lines, "label_user_register", "label.user.register"); + assertLineMatch(lines, "message_article_priceerror", "message.article.priceerror"); + assertLineMatch(lines, "message_invoiceitem_startbeforeend", "message.invoiceitem.startbeforeend"); + assertLineMatch(lines, "message_invoiceitem_allfieldsmustbeset", "message.invoiceitem.allfieldsmustbeset"); + } + + private void assertLineMatch(List lines, String key, String expected) { + Optional found = lines.stream().filter(line -> keyMatches(line, key)).findFirst(); + + assertTrue(found.isPresent(), "No line found with key = " + key); + final String line = found.get().trim(); + int indexEquals = line.indexOf('('); + String value = line.substring(indexEquals + 1).trim().substring(1); + value = value.substring(0, value.length() - 3); + assertEquals(expected, value, "Line \"" + line + "\" don't match expected Value \"" + expected + "\""); + + } + + private boolean keyMatches(String line, String key) { + line = line.toLowerCase(); + key = key.toLowerCase(); + return line.contains("\t" + key + " "); + } + + private StringReader testProperties() { + return new StringReader("\r\n" + "label = \r\n" + "\r\n" + "label.addarticle = Add Article\r\n" + + "label.cancel = Cancel\r\n" + "label.close = Close\r\n" + + "label.delete = Delete\r\n" + "label.discart = Discart\r\n" + + "label.loggedin = Logged in:\r\n" + "label.logout = Logout\r\n" + + "label.ok = OK\r\n" + "label.store = Store\r\n" + + "label.preview = Preview\r\n" + "label.open = Open\r\n" + + "label.user.register = Register\r\n" + "\r\n" + + "message.article.priceerror = Please set the price.\r\n" + + "message.delete.text = Delete {0}?\r\n" + + "message.delete.title = Really delete?\r\n" + + "message.invoiceitem.allfieldsmustbeset = Start, end and article must not be \\r\\n" + + " empty!\r\n" + + "message.invoiceitem.startbeforeend = End must be later than start.\r\n" + + "message.user.create.success = Thanks {0} created!\r\n" + + "message.user.loginfailure = Login Error! Wrong user or password?\r\n" + + "message.user.passwordmissmatch = Passwords don't match.\r\n" + ""); + } } diff --git a/src/test/java/de/kreth/property2java/TestImplConfig.java b/src/test/java/de/kreth/property2java/TestImplConfig.java index 6598dcd..a2bb819 100644 --- a/src/test/java/de/kreth/property2java/TestImplConfig.java +++ b/src/test/java/de/kreth/property2java/TestImplConfig.java @@ -23,5 +23,5 @@ class TestImplConfig implements Configuration { // TODO Auto-generated method stub return null; } - + } \ No newline at end of file diff --git a/src/test/java/de/kreth/property2java/processor/Property2JavaGeneratorTest.java b/src/test/java/de/kreth/property2java/processor/Property2JavaGeneratorTest.java index d974371..e49d81c 100644 --- a/src/test/java/de/kreth/property2java/processor/Property2JavaGeneratorTest.java +++ b/src/test/java/de/kreth/property2java/processor/Property2JavaGeneratorTest.java @@ -18,29 +18,28 @@ import org.mockito.MockitoAnnotations; public class Property2JavaGeneratorTest { - private Property2JavaGenerator processor; - @Mock - private ProcessingEnvironment processingEnv; - @Mock - private RoundEnvironment roundEnv; - private Set annotations; - @Mock - private Messager messanger; - - @BeforeEach - void initProcesor() { - MockitoAnnotations.initMocks(this); - annotations = new HashSet<>(); - - processor = new Property2JavaGenerator(); - processor.init(processingEnv); - when(processingEnv.getMessager()).thenReturn(messanger); - } - - @Test - void testGeneratorInitializedCorrectly() { - when(roundEnv.getElementsAnnotatedWith(ArgumentMatchers.any(Class.class))) - .thenReturn(annotations); - processor.process(annotations, roundEnv); - } + private Property2JavaGenerator processor; + @Mock + private ProcessingEnvironment processingEnv; + @Mock + private RoundEnvironment roundEnv; + private Set annotations; + @Mock + private Messager messanger; + + @BeforeEach + void initProcesor() { + MockitoAnnotations.initMocks(this); + annotations = new HashSet<>(); + + processor = new Property2JavaGenerator(); + processor.init(processingEnv); + when(processingEnv.getMessager()).thenReturn(messanger); + } + + @Test + void testGeneratorInitializedCorrectly() { + when(roundEnv.getElementsAnnotatedWith(ArgumentMatchers.any(Class.class))).thenReturn(annotations); + processor.process(annotations, roundEnv); + } }