1
0
mirror of https://github.com/octoleo/plantuml.git synced 2024-06-06 18:30:52 +00:00
plantuml/test/net/sourceforge/plantuml/tim/stdlib/FeatureTest.java
The-Lum e11d974ce5 refactor: place net.sourceforge.plantuml.test on test.utils
Create `test` folder with:
- `example`
- `utils`

And put all `net.sourceforge.plantuml.test` on `test.utils`.
_[no other change]_
2024-02-12 19:13:02 +00:00

69 lines
2.2 KiB
Java

package net.sourceforge.plantuml.tim.stdlib;
import static net.sourceforge.plantuml.tim.TimTestUtils.assertTimExpectedOutput;
import static net.sourceforge.plantuml.tim.TimTestUtils.assertTimExpectedOutputFromInput;
import static test.utils.JunitUtils.StringJsonConverter;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores;
import org.junit.jupiter.api.IndicativeSentencesGeneration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.converter.ConvertWith;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import net.sourceforge.plantuml.json.JsonValue;
import net.sourceforge.plantuml.tim.EaterException;
import net.sourceforge.plantuml.tim.EaterExceptionLocated;
import net.sourceforge.plantuml.tim.TFunction;
/**
* Tests the builtin function.
*/
@IndicativeSentencesGeneration(separator = ": ", generator = ReplaceUnderscores.class)
class FeatureTest {
TFunction cut = new Feature();
final String cutName = "Feature";
@Disabled
@Test
void Test_without_Param() throws EaterException, EaterExceptionLocated {
assertTimExpectedOutput(cut, "0");
}
@ParameterizedTest(name = "[{index}] " + cutName + "(''{0}'') = {1}")
@CsvSource(nullValues = "null", value = {
" style, 1",
" theme, 1",
" Style, 1",
" Theme, 1",
" 0 , 0",
" 1 , 0",
" abc , 0",
})
void Test_with_String(String input, String expected) throws EaterException, EaterExceptionLocated {
assertTimExpectedOutputFromInput(cut, input, expected);
}
@ParameterizedTest(name = "[{index}] " + cutName + "({0}) = {1}")
@CsvSource(nullValues = "null", value = {
" 0, 0",
" 10, 0",
})
void Test_with_Integer(Integer input, String expected) throws EaterException, EaterExceptionLocated {
assertTimExpectedOutputFromInput(cut, input, expected);
}
@ParameterizedTest(name = "[{index}] " + cutName + "({0}) = {1}")
@CsvSource(value = {
" \"style\", 1",
" \"theme\", 1",
" 0, 0",
})
void Test_with_Json(@ConvertWith(StringJsonConverter.class) JsonValue input, String expected) throws EaterException, EaterExceptionLocated {
assertTimExpectedOutputFromInput(cut, input, expected);
}
}