Package inheritance.vs.composition

Examples of inheritance.vs.composition.BookInfo


public class BookInfoTest {
    @Test
    public void testThatBookReturnsNullIfNotLend() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(100, "Some Book Title");

        //WHEN
        LocalDate returnDate = bookInfo.returnDueDate();

        //THEN
        assertThat(returnDate, is(nullValue()));
    }
View Full Code Here


    }

    @Test
    public void testThatBookReturnsReturnDueDateInOneMonthsFromNowIfLend() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(100, "Some Book Title");
        LocalDate inAMonthsTime = DateTime.now().plusMonths(1).toLocalDate();

        //WHEN
        bookInfo.lend();

        //THEN
        assertThat(bookInfo.returnDueDate(), is(inAMonthsTime));
    }
View Full Code Here

    }

    @Test
    public void testBookLoosesReturnDateWhenReturned() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(100, "Some Book Title");
        bookInfo.lend();

        //WHEN
        bookInfo.bringLentItemBack();

        //THEN
        assertThat(bookInfo.returnDueDate(), is(nullValue()));
    }
View Full Code Here

    }

    @Test
    public void testBookWithMoreThan1000PagesIsHuge() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(1001, "Some Book Title");
        //WHEN & THEN
        assertThat(bookInfo.volumeToRead(), is(VolumeSize.huge));
    }
View Full Code Here

    }

    @Test
    public void testBookWithMoreThan300PagesButLessThan1000PagesIsBig() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(1000, "Some Book Title");
        BookInfo anotherBookInfo = new BookInfo(301, "Some Book Title");
        //WHEN & THEN
        assertThat(bookInfo.volumeToRead(), is(VolumeSize.big));
        assertThat(anotherBookInfo.volumeToRead(), is(VolumeSize.big));
    }
View Full Code Here

    }

    @Test
    public void testBookWithMoreThan100PagesButLessThan300PagesIsMedium() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(101, "Some Book Title");
        BookInfo anotherBookInfo = new BookInfo(300, "Some Book Title");
        //WHEN & THEN
        assertThat(bookInfo.volumeToRead(), is(VolumeSize.medium));
        assertThat(anotherBookInfo.volumeToRead(), is(VolumeSize.medium));
    }
View Full Code Here

    }

    @Test
    public void testBookWithLessThan100PagesIsSmall() throws Exception {
        //GIVEN
        BookInfo bookInfo = new BookInfo(0, "Some Book Title");
        BookInfo anotherBookInfo = new BookInfo(100, "Some Book Title");
        //WHEN & THEN
        assertThat(bookInfo.volumeToRead(), is(VolumeSize.small));
        assertThat(anotherBookInfo.volumeToRead(), is(VolumeSize.small));
    }
View Full Code Here

    }

    @Test
    public void testTwoBooksWithSameTitleAreEqual() throws Exception {
        //GIVEN
        BookInfo aBookInfo = new BookInfo(0, "Some Book Title");
        BookInfo anotherBookInfo = new BookInfo(100, "Some Book Title");
        //WHEN & THEN
        assertThat(aBookInfo, is(anotherBookInfo));
    }
View Full Code Here

TOP

Related Classes of inheritance.vs.composition.BookInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.