This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Book(var numOfPages: Int, var pagePrice: Int=0, var type: Type = Type.SOFT_COPY) { | |
init { | |
if(numOfPages<=0) | |
throw RuntimeException("Number of pages must be more than zero") | |
} | |
fun calculateBookPrice(): Int { | |
var price: Int = numOfPages * pagePrice | |
if (type == Type.HARD_COPY) | |
price += 20 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ExampleUnitTest { | |
lateinit var nonNullBook: Book | |
/** | |
* This method will be called before each test we have | |
*/ | |
@Before | |
fun thisMethodShouldBeCalledBeforeEachTestCall() { | |
println("Before Test method called") | |
nonNullBook = Book(300) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Firstly we need to create Basket reposiotry for Basket model and we create an interface for the repository in order to use it in the Controller, | |
The basket interface will contain add to basket and remove from basket operation and the repository should implement them | |
Then to add Unit of Work implementation | |
We need to add unit of works class | |
which contain an instance of the Basket repository and contain save method in order to save the transaction at the end | |
At the end in HomeController We Call basket repository instance in unit of work class in order to call the corresponding method from inside it | |
and once we done all the transactions we need to do we can call unit of work save method in order to save all the transactions we have done. |