チケットクラスのテストコードのサンプル
Test Code
function testTotalTicketsInitialization() { $ticketSystem = new Ticket(10); assertSame($ticketSystem->getTotalTickets(), 10, "Total tickets initialization"); } function testRemainingTicketsInitialization() { $ticketSystem = new Ticket(10); assertSame($ticketSystem->getRemainingTickets(), 10, "Remaining tickets initialization"); } function testTicketInstance() { $ticketSystem = new Ticket(10); assertInstanceOf($ticketSystem, 'Ticket', "Ticket instance check"); } function testBuyTicketSuccess() { $ticketSystem = new Ticket(10); assertSame($ticketSystem->buyTicket(), true, "Buy ticket success"); } function testRemainingTicketsAfterPurchase() { $ticketSystem = new Ticket(10); $ticketSystem->buyTicket(); assertSame($ticketSystem->getRemainingTickets(), 9, "Remaining tickets after purchase"); } function testBuyTicketAtMaxCapacity() { $ticketSystem = new Ticket(10); for ($i = 0; $i < 9; $i++) { $ticketSystem->buyTicket(); } assertSame($ticketSystem->buyTicket(), true, "Buy ticket success at max capacity"); } function testRemainingTicketsAfterMaxCapacityPurchase() { $ticketSystem = new Ticket(10); for ($i = 0; $i < 10; $i++) { $ticketSystem->buyTicket(); } assertSame($ticketSystem->getRemainingTickets(), 0, "Remaining tickets after max capacity purchase"); } function testBuyTicketWhenSoldOut() { $ticketSystem = new Ticket(10); for ($i = 0; $i < 10; $i++) { $ticketSystem->buyTicket(); } assertSame($ticketSystem->buyTicket(), false, "Buy ticket failure when sold out"); } function testRemainingTicketsAfterSoldOut() { $ticketSystem = new Ticket(10); for ($i = 0; $i < 10; $i++) { $ticketSystem->buyTicket(); } $ticketSystem->buyTicket(); assertSame($ticketSystem->getRemainingTickets(), 0, "Remaining tickets after sold out"); }