@Test
public void givenValidParameters_whenBuild_thenSucceeds() {

    // Given
    final int itemId = 1;
    final int footerId = 3;
    final int loadingId = 5;
    final int emptyId = 6;
    // When
    SectionParameters sectionParameters = SectionParameters.builder()
            .itemResourceId(itemId)
            .headerViewWillBeProvided()
            .footerResourceId(footerId)
            .failedViewWillBeProvided()
            .loadingResourceId(loadingId)
            .emptyResourceId(emptyId)
            .build();
    // Then
    assertThat(sectionParameters.itemResourceId, is(itemId));
    assertThat(sectionParameters.itemViewWillBeProvided, is(false));
    assertThat(sectionParameters.headerResourceId, is(nullValue()));
    assertThat(sectionParameters.headerViewWillBeProvided, is(true));
    assertThat(sectionParameters.footerResourceId, is(footerId));
    assertThat(sectionParameters.footerViewWillBeProvided, is(false));
    assertThat(sectionParameters.failedResourceId, is(nullValue()));
    assertThat(sectionParameters.failedViewWillBeProvided, is(true));
    assertThat(sectionParameters.loadingResourceId, is(loadingId));
    assertThat(sectionParameters.loadingViewWillBeProvided, is(false));
    assertThat(sectionParameters.emptyResourceId, is(emptyId));
    assertThat(sectionParameters.emptyViewWillBeProvided, is(false));
}