package pl.edu.icm.saos.webapp.common; import static org.junit.Assert.*; import org.junit.Test; import org.junit.runner.RunWith; import com.tngtech.java.junit.dataprovider.DataProvider; import com.tngtech.java.junit.dataprovider.DataProviderRunner; import com.tngtech.java.junit.dataprovider.UseDataProvider; /** * @author Łukasz Pawełczak * */ @RunWith(DataProviderRunner.class) public class RomanNumberConverterTest { @DataProvider public static Object[][] decodeResultsData() { return new Object[][] { {1, "I"}, {2, "II"}, {3, "III"}, {4, "IV"}, {5, "V"}, {6, "VI"}, {7, "VII"}, {8, "VIII"}, {9, "IX"}, {10, "X"}, {11, "XI"}, {12, "XII"}, {13, "XIII"}, {14, "XIV"}, {15, "XV"}, {16, "XVI"}, {17, "XVII"}, {18, "XVIII"}, {19, "XIX"}, }; } @DataProvider public static String[] simpleStringData() { return new String[] { "I", "IX", "IV", "VIII", "XIX" }; } @DataProvider public static String[] incorrectStringData() { return new String[] { "", "Wydział", "X Wydział", "WydziałI", }; } //------------------------ TESTS -------------------------- @Test @UseDataProvider("decodeResultsData") public void decode(int expected, String romanNumber) { assertEquals(expected, RomanNumberConverter.decode(romanNumber)); } @Test @UseDataProvider("simpleStringData") public void isRomanNumber_simple_string_with_roman_number(String romanNumber) { assertTrue(RomanNumberConverter.isRomanNumber(romanNumber)); } @Test @UseDataProvider("incorrectStringData") public void isRomanNumber_incorrect_string(String romanNumber) { assertFalse(RomanNumberConverter.isRomanNumber(romanNumber)); } }