@startuml

skinparam DefaultFontSize 20
create ":Test"

==Arrange==

create ":PersonalTransactionsInDateRangeController"
":Test" -> ":PersonalTransactionsInDateRangeController" : new PersonalTransactionsInDateRangeController()

participant "person1:Person"

participant "ledger:Ledger"


== Act ==

":Test" -> ":PersonalTransactionsInDateRangeController" : listOfPersonalTransactions = \nreturnPersonLedgerInDateRange(initialDate, finalDate, person1)
activate ":PersonalTransactionsInDateRangeController"  #FFBBBB

":PersonalTransactionsInDateRangeController" -> "person1:Person" :listOfPersonalTransactions = \nreturnPersonLedgerInDateRange(initialDate, finalDate)
activate "person1:Person"  #FFBBBB

"person1:Person" -> "ledger:Ledger": listOfPersonalTransactions = \ngetTransactionsInDateRange(initialDate, finalDate)
deactivate "person1:Person"  #FFBBBB
deactivate ":PersonalTransactionsInDateRangeController"  #FFBBBB

== Assert ==

":Test" -> ":Test" : assertEquals(expectedListOfPersonalTransactions, \n              listOfPersonalTransactions)


@enduml