チケットクラスのテストコードのサンプル
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");
}