/** This method should fail because the value at end point is a stringbuilder. */ @Test public void should_fail_because_value_at_end_point_is_a_stringbuilder() throws Exception { WritableAssertionInfo info = new WritableAssertionInfo(); info.description("description"); Table table = new Table(); TableAssert tableAssert = assertThat(table); try { AssertionsOnColumnOfChangeType.isBoolean( tableAssert, info, getValue(null, false), getValue(null, new StringBuilder("test")), false); fail("An exception must be raised"); } catch (AssertionError e) { Assertions.assertThat(e.getMessage()) .isEqualTo( String.format( "[description] %n" + "Expecting that the value at end point:%n" + " <test>%n" + "to be of type%n" + " <BOOLEAN>%n" + "but was of type%n" + " <NOT_IDENTIFIED> (java.lang.StringBuilder)")); } }
@Test public void should_use_AssertionErrorFactory_when_overriding_error_message_is_not_specified() { MyOwnAssertionError expectedError = new MyOwnAssertionError("[description] my message"); Description description = new TestDescription("description"); info.description(description); when(errorFactory.newAssertionError(description)).thenReturn(expectedError); AssertionError failure = failures.failure(info, errorFactory); assertSame(expectedError, failure); }
/** This method should fail because the row exists. */ @Test public void should_fail_because_row_exists() throws Exception { WritableAssertionInfo info = new WritableAssertionInfo(); info.description("description"); Table table = new Table(); TableAssert tableAssert = assertThat(table); Row row = getRow( null, Arrays.asList("ID", "NAME", "FIRSTNAME", "BIRTH"), Arrays.asList(1, "Weaver", "Sigourney", Date.valueOf("1949-10-08"))); try { AssertionsOnRowOfChangeExistence.doesNotExist(tableAssert, info, row); fail("An exception must be raised"); } catch (AssertionError e) { Assertions.assertThat(e.getMessage()) .isEqualTo(String.format("[description] %n" + "Expecting not exist but exists")); } }
/** This method should fail because the number of columns is equal. */ @Test public void should_fail_because_number_of_columns_is_equal() { WritableAssertionInfo info = new WritableAssertionInfo(); info.description("description"); Table table = new Table(); TableAssert tableAssert = assertThat(table); try { AssertionsOnNumberOfColumns.hasNumberOfColumnsLessThan(tableAssert, info, 3, 3); fail("An exception must be raised"); } catch (AssertionError e) { Assertions.assertThat(e.getMessage()) .isEqualTo( String.format( "[description] %n" + "Expecting size (number of columns) to be less than :%n" + " <3>%n" + "but was:%n" + " <3>")); } }
/** This method should fail because the number of modified columns is greater or equal. */ @Test public void should_fail_because_number_of_modified_columns_is_greater_or_equal() throws Exception { WritableAssertionInfo info = new WritableAssertionInfo(); info.description("description"); Table table = new Table(); TableAssert tableAssert = assertThat(table); Row rowAtStartPoint = getRow( null, Arrays.asList("ID", "NAME", "FIRSTNAME", "BIRTH"), Arrays.asList( getValue(null, 1), getValue(null, "Weaver"), getValue(null, "Sigourney"), getValue(null, Date.valueOf("1949-10-08")))); Row rowAtEndPoint = getRow( null, Arrays.asList("ID", "NAME", "FIRSTNAME", "BIRTH"), Arrays.asList( getValue(null, 1), getValue(null, "Weaverr"), getValue(null, "Sigourneyy"), getValue(null, Date.valueOf("1949-10-08")))); Change change = getChange(DataType.TABLE, "test", ChangeType.MODIFICATION, rowAtStartPoint, rowAtEndPoint); try { AssertionsOnModifiedColumns.hasNumberOfModifiedColumnsLessThan(tableAssert, info, change, 1); fail("An exception must be raised"); } catch (AssertionError e) { Assertions.assertThat(e.getMessage()) .isEqualTo( String.format( "[description] %n" + "Expecting :%n" + " number of modifications is less than 1%n" + "but was:%n" + " 2")); } }
/** This method should fail because the value at end point have different type. */ @Test public void should_fail_because_value_at_end_point_have_different_type() throws Exception { WritableAssertionInfo info = new WritableAssertionInfo(); info.description("description"); Table table = new Table(); TableAssert tableAssert = assertThat(table); try { AssertionsOnColumnOfChangeType.isBoolean( tableAssert, info, getValue(null, false), getValue(null, "test"), false); fail("An exception must be raised"); } catch (AssertionError e) { Assertions.assertThat(e.getMessage()) .isEqualTo( String.format( "[description] %n" + "Expecting that the value at end point:%n" + " <\"test\">%n" + "to be of type%n" + " <BOOLEAN>%n" + "but was of type%n" + " <TEXT>")); } }
@Test public void should_create_own_AssertionError_when_overriding_error_message_is_specified() { info.overridingErrorMessage("my message"); AssertionError failure = failures.failure(info, errorFactory); assertEquals("my message", failure.getMessage()); }