You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
package de.kreth.property2java;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
import static org.mockito.ArgumentMatchers.anyString;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.io.Writer;
|
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.mockito.Mockito;
|
|
|
|
class ConfigurationTest {
|
|
|
|
private Configuration config;
|
|
|
|
@BeforeEach
|
|
void initConfig() {
|
|
config = Mockito.mock(Configuration.class);
|
|
}
|
|
|
|
@Test
|
|
void defaultWriterIsFileWriter() throws IOException {
|
|
|
|
when(config.outWriter(anyString())).thenCallRealMethod();
|
|
when(config.getRootPath()).thenReturn(new File(".").toPath());
|
|
when(config.mapFilenameToClassName(anyString())).thenCallRealMethod();
|
|
when(config.outputCharset()).thenCallRealMethod();
|
|
|
|
Writer outWriter = config.outWriter("application.properties");
|
|
assertTrue(outWriter instanceof FileWriter);
|
|
}
|
|
|
|
@Test
|
|
void testPathMapping() {
|
|
when(config.mapFilenameToClassName(anyString())).thenCallRealMethod();
|
|
String className = config.mapFilenameToClassName("application.properties");
|
|
assertEquals("Application_Properties", className);
|
|
}
|
|
|
|
@Test
|
|
void testPathMappingLocalized() {
|
|
when(config.mapFilenameToClassName(anyString())).thenCallRealMethod();
|
|
String className = config.mapFilenameToClassName("application_de_DE.properties");
|
|
assertEquals("Application_Properties", className);
|
|
className = config.mapFilenameToClassName("application_en_US.properties");
|
|
assertEquals("Application_Properties", className);
|
|
}
|
|
|
|
}
|
|
|