diff --git a/tests/interface_test.aer b/tests/interface_test.aer new file mode 100644 index 0000000..c899ea7 --- /dev/null +++ b/tests/interface_test.aer @@ -0,0 +1,42 @@ +interface iVehicle { + + public void drive(); + public void stop(); + +} + +class Car implements iVehicle { + + public void drive() { + print("Driving...\n"); + } + + public void stop() { + print("Stopping...\n"); + } + +} + +class MyCar extends Car { + + public void drive() { + print("Driving my car...\n"); + } + +} + +class Program { + + public void driveCar(iVehicle $vehicle) { + $vehicle->drive(); + $vehicle->stop(); + } + + public void main() { + object $car = new Car(); + object $mycar = new MyCar(); + $this->driveCar($car); + $this->driveCar($mycar); + } + +} diff --git a/tests/interface_test.exp b/tests/interface_test.exp new file mode 100644 index 0000000..b026219 --- /dev/null +++ b/tests/interface_test.exp @@ -0,0 +1,4 @@ +Driving... +Stopping... +Driving my car... +Stopping...