package fitnesse.slim.converters; import fitnesse.slim.SlimError; import org.junit.Test; import static org.junit.Assert.*; public class GenericEnumConverterTest extends AbstractConverterTest<EnumToTest, GenericEnumConverter<EnumToTest>> { public GenericEnumConverterTest() { super(new GenericEnumConverter<>(EnumToTest.class)); } /* * TO STRING */ @Test public void toString_should_return_an_enum_name_when_value_is_a_valid_enum() { EnumToTest value = EnumToTest.v_0; String current = converter.toString(value); assertEquals(value.name(), current); } /* * FROM STRING */ @Test public void fromString_should_return_the_char_when_value_is_a_char() { String value = "v_1"; EnumToTest current = converter.fromString(value); assertEquals(EnumToTest.v_1, current); } @Test public void fromString_should_return_throw_Exception_when_value_is_not_a_int() { String errorMessage = "no error occurred"; try { converter.fromString("fault"); } catch (SlimError e) { errorMessage = e.getMessage(); } assertEquals("message:<<Can't convert fault to enum value of type fitnesse.slim.converters.EnumToTest.>>", errorMessage); } } enum EnumToTest { v_0, v_1 }