@Test public void testInstantiatesRowIfFirstCellOfExampleContainsFullyQualifiedClassName() { Rows rows = Rows.parse("[" + GivenRow.class.getName() + "]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(GivenRow.class))); }
@Test public void testInstantiatesRowIfFirstCellOfExampleContainsFullyQualifiedClassName() { Rows rows = Rows.parse("[" + AcceptRow.class.getName() + "]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(AcceptRow.class))); }
@Test public void testRecognizesInterpreterNames() { Rows rows = Rows.parse("[rulE For]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(InterpretRow.class))); }
@Test public void testThatItAlwaysSelectsAnActionRow() { Rows rows = Rows.parse("[ anything ]"); Row row = rowSelector.select(rows); assertThat(row, is(instanceOf(ActionRow.class))); }
@Test public void testDefaultsToSelectingDefaultRow() { Rows rows = Rows.parse("[anything else]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(DefaultRow.class))); }
@Test public void testThatDefaultRowPackageIsIncludedByDefault() { Rows rows = Rows.parse("[WhenRow]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(WhenRow.class))); }
@Test public void testThatRowSuffixIsAddedByDefault() { Rows rows = Rows.parse("[Check]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(CheckRow.class))); }
@Test public void testDefaultsToSelectingDefaultRow() { Rows rows = Rows.parse("[anything else]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(DefaultRow.class))); }
@Test public void testThatRowSuffixIsAddedByDefault() { Rows rows = Rows.parse("[Check]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(CheckRow.class))); }
@Test public void testRecognizesInterpreterNames() { Rows rows = Rows.parse("[decision table]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(InterpretRow.class))); }
@Test public void testThatDefaultRowPackageIsIncludedByDefault() { Rows rows = Rows.parse("[reject]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(RejectRow.class))); }
@Test public void testSupportsHumanizedClassNames() { Rows rows = Rows.parse("[accept row]"); selector.searchPackage(packageName(AcceptRow.class)); Row row = selector.select(rows); assertThat(row, is(instanceOf(AcceptRow.class))); }
@Test public void testThatIncludedSuffixesAreOptionalInRowClassNames() { Rows rows = Rows.parse("[ " + packageName(CheckRow.class) + ".Check]"); selector.addSuffix("Row"); Row row = selector.select(rows); assertThat(row, is(instanceOf(CheckRow.class))); }
@Test public void testSupportsHumanizedClassNames() { Rows rows = Rows.parse("[given row]"); selector.searchPackage(packageName(GivenRow.class)); Row row = selector.select(rows); assertThat(row, is(instanceOf(GivenRow.class))); }
@Test public void testSearchesForRowClassInIncludedPackages() { Rows rows = Rows.parse("[reject]"); selector.searchPackage(packageName(RejectRow.class)); Row row = selector.select(rows); assertThat(row, is(instanceOf(RejectRow.class))); }
@Test public void testThatIncludedSuffixesAreOptionalInRowClassNames() { Rows rows = Rows.parse("[ " + packageName(CheckRow.class) + ".Check]"); selector.addSuffix("Row"); Row row = selector.select(rows); assertThat(row, is(instanceOf(CheckRow.class))); }
@Test public void testThatRowInterfaceIsNotConsideredARow() { selector.addSuffix("Row"); selector.searchPackage(packageName(Row.class)); Rows rows = Rows.parse("[]"); // inferred row class is Row interface Row row = selector.select(rows); assertThat(row, is(instanceOf(DefaultRow.class))); }
@Test public void testThatRowInterfaceIsNotConsideredARow() { selector.addSuffix("Row"); selector.searchPackage(packageName(Row.class)); Rows rows = Rows.parse("[]"); // inferred row class is Row interface Row row = selector.select(rows); assertThat(row, is(instanceOf(DefaultRow.class))); }
@Test public void testShouldSkipWhenRowClassCannotBeInstantiated() { Rows rows = Rows.parse("[" + UninstantiableRow.class.getName() + "]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(SkipRow.class))); FakeSpecification spec = specification(rows); row.interpret(spec); Assertions.assertAnnotatedException(rows.firstChild()); assertFalse(spec.hasMoreExamples()); }
@Test public void testShouldSkipWhenRowClassCannotBeInstantiated() { Rows rows = Rows.parse("[" + UninstantiableRow.class.getName() + "]"); Row row = selector.select(rows); assertThat(row, is(instanceOf(SkipRow.class))); FakeSpecification spec = specification(rows); row.interpret(spec); Assertions.assertAnnotatedException(rows.firstChild()); assertFalse(spec.hasMoreExamples()); }