Sha256: 655a4695caccb75513b30d3e98917f5d44c76c85f9bb294b41d6d65416f0d0c1

Contents?: true

Size: 1.19 KB

Versions: 118

Compression:

Stored size: 1.19 KB

Contents

import XCTest
@testable import CollatzConjecture

class CollatzConjectureTests: XCTestCase {

    func testZeroStepsForOne() {
        XCTAssertEqual(0, try CollatzConjecture.steps(1))
    }

    func testDivideIfEven() {
        XCTAssertEqual(4, try CollatzConjecture.steps(16))
    }

    func testEvenAndOddSteps() {
        XCTAssertEqual(9, try CollatzConjecture.steps(12))
    }

    func testLargeNumberOfEvenAndOddSteps() {
        XCTAssertEqual(152, try CollatzConjecture.steps(1_000_000))
    }

    func testZeroIsAnError() {
        XCTAssertThrowsError(try CollatzConjecture.steps(0))
    }

    func testNegativeValueIsAnError() {
        XCTAssertThrowsError(try CollatzConjecture.steps(-15))
    }

    static var allTests: [(String, (CollatzConjectureTests) -> () throws -> Void)] {
        return [
            ("testZeroStepsForOne", testZeroStepsForOne),
            ("testDivideIfEven", testDivideIfEven),
            ("testEvenAndOddSteps", testEvenAndOddSteps),
            ("testLargeNumberOfEvenAndOddSteps", testLargeNumberOfEvenAndOddSteps),
            ("testZeroIsAnError", testZeroIsAnError),
            ("testNegativeValueIsAnError", testNegativeValueIsAnError),
        ]
    }
}

Version data entries

118 entries across 118 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.179 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.178 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.177 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.176 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.175 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.174 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.173 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.172 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.171 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.170 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.169 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.167 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.166 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.165 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.164 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.163 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.162 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.161 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift
trackler-2.2.1.160 tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift