forked from StarOpenSource/Engine
Add partial PropertyParser test
This commit is contained in:
parent
868709f356
commit
bb3e2cb4eb
1 changed files with 93 additions and 0 deletions
|
@ -0,0 +1,93 @@
|
||||||
|
package de.staropensource.sosengine.base.srctests.utility;
|
||||||
|
|
||||||
|
import de.staropensource.sosengine.base.utility.PropertyParser;
|
||||||
|
import de.staropensource.sosengine.unittests.UnitLogger;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
|
import org.junit.jupiter.params.provider.CsvSource;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test the class {@link PropertyParser}.
|
||||||
|
*/
|
||||||
|
@DisplayName("PropertyParser")
|
||||||
|
class PropertyParserTest {
|
||||||
|
/**
|
||||||
|
* The {@link UnitLogger} for this instance.
|
||||||
|
*/
|
||||||
|
private final UnitLogger logger = new UnitLogger(getClass());
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the method {@code getString}.
|
||||||
|
*/
|
||||||
|
@ParameterizedTest
|
||||||
|
@DisplayName("getString")
|
||||||
|
@CsvSource({
|
||||||
|
"testprop, success :)",
|
||||||
|
"very_nice_test, indeed",
|
||||||
|
"hello, Hello World!",
|
||||||
|
"a.property.mightLookLikeThis, some value"
|
||||||
|
})
|
||||||
|
void testGetString(String propertyName, String propertyValue) {
|
||||||
|
logger.testCall("testGetString", propertyName, propertyValue);
|
||||||
|
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.setProperty(propertyName, propertyValue);
|
||||||
|
|
||||||
|
String result = new PropertyParser(properties).getString(propertyName);
|
||||||
|
assertEquals(propertyValue, result, "Result \"" + result + "\" does not match expected output \"" + propertyValue + "\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the method {@code getBoolean}.
|
||||||
|
*/
|
||||||
|
@ParameterizedTest
|
||||||
|
@DisplayName("getBoolean")
|
||||||
|
@CsvSource({
|
||||||
|
"invalid_bool, asd, false",
|
||||||
|
"should.be.true, true, true",
|
||||||
|
"falsified, false, false",
|
||||||
|
"bit_no, 0, false",
|
||||||
|
"bit_yes, 1, true",
|
||||||
|
"no_a_bit, 2, false",
|
||||||
|
"yeah, yes, true",
|
||||||
|
"nah, no, false",
|
||||||
|
})
|
||||||
|
void testGetBoolean(String propertyName, String propertyValue, boolean expected) {
|
||||||
|
logger.testCall("testGetBoolean", propertyName, propertyValue, expected);
|
||||||
|
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.setProperty(propertyName, propertyValue);
|
||||||
|
|
||||||
|
Boolean result = new PropertyParser(properties).getBoolean(propertyName);
|
||||||
|
assertEquals(expected, result, "Result \"" + result + "\" does not match expected output \"" + expected + "\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the method {@code getByte}.
|
||||||
|
*/
|
||||||
|
@ParameterizedTest
|
||||||
|
@DisplayName("getByte")
|
||||||
|
@CsvSource({
|
||||||
|
"invalid_bool, asd, false",
|
||||||
|
"should.be.true, true, true",
|
||||||
|
"falsified, false, false",
|
||||||
|
"bit_no, 0, false",
|
||||||
|
"bit_yes, 1, true",
|
||||||
|
"no_a_bit, 2, false",
|
||||||
|
"yeah, yes, true",
|
||||||
|
"nah, no, false",
|
||||||
|
})
|
||||||
|
void testGetByte(String propertyName, String propertyValue, boolean expected) {
|
||||||
|
logger.testCall("testGetBoolean", propertyName, propertyValue, expected);
|
||||||
|
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.setProperty(propertyName, propertyValue);
|
||||||
|
|
||||||
|
Boolean result = new PropertyParser(properties).getBoolean(propertyName);
|
||||||
|
assertEquals(expected, result, "Result \"" + result + "\" does not match expected output \"" + expected + "\"");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue