Sha256: cec627e42c36f37654b3f0f4843ba7ad6308b6997ae01035e2612d5196fb713f

Contents?: true

Size: 1.54 KB

Versions: 188

Compression:

Stored size: 1.54 KB

Contents

import XCTest
@testable import PythagoreanTriplet

class PythagoreanTripletTests: XCTestCase {
    func testSum() {
        XCTAssertEqual(12, Triplet(3, 4, 5).sum)
    }

    func testProduct() {
        XCTAssertEqual(60, Triplet(3, 4, 5).product)
    }

    func testPythagorean() {
        XCTAssertTrue(Triplet(3, 4, 5).isPythagorean)
    }

    func testNotPythagorean() {
        XCTAssertTrue(!Triplet(5, 6, 7).isPythagorean)
    }

    func testTripletsUpTo10() {
        let triplets = Triplet.fromWhere(maxFactor: 10)
        let products = triplets.map { $0.product }.sorted(by: <)
        XCTAssertEqual([60, 480], products)
    }

    func testTripletsFrom11UpTo20() {
        let triplets = Triplet.fromWhere(11, maxFactor: 20)
        let products = triplets.map { $0.product }.sorted(by: <)
        XCTAssertEqual([3840], products)
    }

    func testTripletsWhereSumX() {
        let triplets = Triplet.fromWhere( maxFactor: 100, sum: 180)
        let products = triplets.map { $0.product }.sorted(by: <)
        XCTAssertEqual([118_080, 168_480, 202_500], products)
    }

    static var allTests: [(String, (PythagoreanTripletTests) -> () throws -> Void)] {
        return [
            ("testSum", testSum),
            ("testProduct", testProduct),
            ("testPythagorean", testPythagorean),
            ("testNotPythagorean", testNotPythagorean),
            ("testTripletsUpTo10", testTripletsUpTo10),
            ("testTripletsFrom11UpTo20", testTripletsFrom11UpTo20),
            ("testTripletsWhereSumX", testTripletsWhereSumX),
        ]
    }
}

Version data entries

188 entries across 188 versions & 1 rubygems

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