From c940224d21ecad77ae598cf1d609a0ab122a5a41 Mon Sep 17 00:00:00 2001 From: belliash Date: Sun, 22 Dec 2019 22:58:36 +0100 Subject: [PATCH] Tower of Hanoi test. --- tests/tower_of_hanoi.aer | 22 ++++++++++++++++++++++ tests/tower_of_hanoi.exp | 15 +++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 tests/tower_of_hanoi.aer create mode 100644 tests/tower_of_hanoi.exp diff --git a/tests/tower_of_hanoi.aer b/tests/tower_of_hanoi.aer new file mode 100644 index 0000000..bb61511 --- /dev/null +++ b/tests/tower_of_hanoi.aer @@ -0,0 +1,22 @@ +class Hanoi { + + public void towerOfHanoi(int $diskCount, int $fromPole, int $toPole, int $viaPole) { + if($diskCount == 1) { + printf('Move disk from pole ' + $fromPole + ' to pole ' + $toPole + "\n"); + } else { + $this->towerOfHanoi($diskCount - 1, $fromPole, $viaPole, $toPole); + $this->towerOfHanoi(1, $fromPole, $toPole, $viaPole); + $this->towerOfHanoi($diskCount - 1, $viaPole, $toPole, $fromPole); + } + } + +} + +class Program { + + public void main() { + object $hanoi = new Hanoi(); + $hanoi->towerOfHanoi(4, 1, 2, 3); + } + +} diff --git a/tests/tower_of_hanoi.exp b/tests/tower_of_hanoi.exp new file mode 100644 index 0000000..78b47b3 --- /dev/null +++ b/tests/tower_of_hanoi.exp @@ -0,0 +1,15 @@ +Move disk from pole 1 to pole 3 +Move disk from pole 1 to pole 2 +Move disk from pole 3 to pole 2 +Move disk from pole 1 to pole 3 +Move disk from pole 2 to pole 1 +Move disk from pole 2 to pole 3 +Move disk from pole 1 to pole 3 +Move disk from pole 1 to pole 2 +Move disk from pole 3 to pole 2 +Move disk from pole 3 to pole 1 +Move disk from pole 2 to pole 1 +Move disk from pole 3 to pole 2 +Move disk from pole 1 to pole 3 +Move disk from pole 1 to pole 2 +Move disk from pole 3 to pole 2