Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Incompleted() {
- Parking<TestClock> parking(10);
- TestClock::SetNow(20);
- parking.Park({'B', 'B', 222, 'B', 99});
- TestClock::SetNow(40);
- assert(parking.GetCurrentBill({'B', 'B', 222, 'B', 99}) == 200);
- TestClock::SetNow(60);
- assert(parking.GetCurrentBill({'B', 'B', 222, 'B', 99}) == 400);
- }
- void TestContainers() {
- Parking<TestClock> parking(10);
- auto tmp = parking.GetCompleteParks();
- std::cout<<tmp.size()<<'\n';
- for (auto const&[key, val]:tmp)
- {
- std::cout<<key<<' '<<chrono::duration_cast<chrono::seconds>(val)<<'\n';
- }
- TestClock::SetNow(10);
- parking.Park({'A', 'A', 111, 'A', 99});
- tmp = parking.GetCompleteParks();
- std::cout<<tmp.size()<<'\n';
- for (auto const&[key, val]:tmp)
- {
- std::cout<<key<<' '<<chrono::duration_cast<chrono::seconds>(val)<<'\n';
- }
- TestClock::SetNow(20);
- parking.Withdraw({'A', 'A', 111, 'A', 99});
- parking.Park({'B', 'B', 222, 'B', 99});
- tmp = parking.GetCompleteParks();
- std::cout<<tmp.size()<<'\n';
- for (auto const&[key, val]:tmp)
- {
- std::cout<<key<<' '<<chrono::duration_cast<chrono::seconds>(val)<<'\n';
- }
- TestClock::SetNow(40);
- assert(parking.GetCurrentBill({'A', 'A', 111, 'A', 99}) == 100);
- assert(parking.GetCurrentBill({'B', 'B', 222, 'B', 99}) == 200);
- parking.Park({'A', 'A', 111, 'A', 99});
- tmp = parking.GetCompleteParks();
- std::cout<<tmp.size()<<'\n';
- for (auto const&[key, val]:tmp)
- {
- std::cout<<key<<' '<<chrono::duration_cast<chrono::seconds>(val)<<'\n';
- }
- TestClock::SetNow(60);
- assert(parking.GetCurrentBill({'A', 'A', 111, 'A', 99}) == 300);
- assert(parking.GetCurrentBill({'B', 'B', 222, 'B', 99}) == 400);
- assert(parking.GetCurrentBill({'C', 'C', 333, 'C', 99}) == 0);
- tmp = parking.GetCompleteParks();
- std::cout<<tmp.size()<<'\n';
- for (auto const&[key, val]:tmp)
- {
- std::cout<<key<<' '<<chrono::duration_cast<chrono::seconds>(val)<<'\n';
- }
- }
- 0
- 0
- 1
- AA111A99 10s
- 1
- AA111A99 10s
- 1
- AA111A99 10s
Advertisement
Add Comment
Please, Sign In to add comment