Skip to content

Instantly share code, notes, and snippets.

@pragmaticlogic
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save pragmaticlogic/8534ed5827ea8fccf45d to your computer and use it in GitHub Desktop.

Select an option

Save pragmaticlogic/8534ed5827ea8fccf45d to your computer and use it in GitHub Desktop.
Test Swift Tower Recursive implementation
import UIKit
import XCTest
import SwiftTower
class SwiftTowerTests: XCTestCase {
override func setUp() {
super.setUp()
// No extra setup code here.
}
override func tearDown() {
// No extra teardown code here.
super.tearDown()
}
func testRecursiveTowerOfHanoi() {
let numberOfDisks = 4
let destStack:Stack<Int> = Stack<Int>()
func checkTower(dest:Stack<Int>, numberOfDisks:Int) -> Bool {
var match = true
var index = 1
while match && dest.size() > 0 && index <= numberOfDisks {
match = dest.pop() == index
index++
}
return match
}
tower(numberOfDisks, source:.Tower1, dest:.Tower3 , temp:.Tower2, finalDest:.Tower3, destStack)
XCTAssert(checkTower(destStack, numberOfDisks), "Pass")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment