Created
December 16, 2016 01:43
-
-
Save trilliwon/3e4c6d895c59f68e7f1b1af5c856df13 to your computer and use it in GitHub Desktop.
QuicksortTests in swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import XCTest | |
@testable import Quicksort | |
class QuicksortTests: XCTestCase { | |
// RED | |
// / \ | |
// REFACTOR GREEN | |
func test_quicksort_param() { | |
let array = [0] | |
XCTAssertEqual(array, quicksort(array: array), "Should be equal.") | |
} | |
func test_quicksort_param_1() { | |
let array = [1] | |
XCTAssertEqual(array, quicksort(array: array), "Should be equal.") | |
} | |
func test_quicksort_length_2() { | |
let array = [0, 1] | |
XCTAssertEqual(array, quicksort(array: array), "Should return [0, 1]") | |
} | |
func test_quicksort_length_2_1() { | |
let array = [1, 0] | |
XCTAssertEqual([0, 1], quicksort(array: array), "Should return [0, 1]") | |
} | |
func test_quicksort_long_array() { | |
let array = [1, 0, 6, 3, 5, 4, 2] | |
XCTAssertEqual([0, 1, 2, 3, 4, 5, 6], quicksort(array: array), "Should return sorted array.") | |
} | |
func test_quicksort_double_array() { | |
let array = [1.0, 0, 6.5, 3.1, 5.4, 4, 2] | |
XCTAssertEqual([0, 1.0, 2, 3.1, 4, 5.4, 6.5], quicksort(array: array), "Should return sorted array.") | |
} | |
func test_measure_time() { | |
var randomArray: [Int] = [] | |
for _ in 0...10000 { | |
randomArray.append(Int(arc4random() % 100000 )) | |
} | |
measure { | |
_ = quicksort(array: randomArray) | |
} | |
} | |
func test_sorted() { | |
var randomArray: [Int] = [] | |
for _ in 0...10000 { | |
randomArray.append(Int(arc4random() % 100000 )) | |
} | |
measure { | |
randomArray.sort() | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment