Sha256: 22b77d461371958492dc2d4d23447b2afea7599290f2756faf5cf99331bbd052

Contents?: true

Size: 1.72 KB

Versions: 192

Compression:

Stored size: 1.72 KB

Contents

import XCTest
@testable import Luhn

class LuhnTests: XCTestCase {

    func testAddends() {
        let luhn = Luhn(12_121)
        XCTAssertEqual([1, 4, 1, 4, 1], luhn.addends)
    }

    func testTooLargeAddend() {
        let luhn = Luhn(8631)
        XCTAssertEqual([7, 6, 6, 1], luhn.addends)
    }

    func testChecksum() {
        let luhn = Luhn(4913)
        XCTAssertEqual(22, luhn.checksum)
    }

    func testChecksumAgain() {
        let luhn = Luhn(201_773)
        XCTAssertEqual(21, luhn.checksum)
    }

    func testInvalidNumber() {
        let luhn = Luhn(738)
        XCTAssertEqual (false, luhn.isValid)
    }

    func testValidNumber() {
        let luhn = Luhn(8_739_567)
        XCTAssertEqual (true, luhn.isValid)
    }

    func testCreateValidNumber() {
        let number = Luhn.create(123)
        XCTAssertEqual(1230, number)
    }

    func testCreateOtherValidNumber() {
        let number = Luhn.create(873_956)
        XCTAssertEqual(8_739_567, number)
    }

    func testCreateYetAnotherValidNumber() {
        let number = Luhn.create(837_263_756)
        XCTAssertEqual(8_372_637_564, number)
    }

    static var allTests: [(String, (LuhnTests) -> () throws -> Void)] {
        return [
            ("testAddends", testAddends),
            ("testTooLargeAddend", testTooLargeAddend),
            ("testChecksum", testChecksum),
            ("testChecksumAgain", testChecksumAgain),
            ("testInvalidNumber", testInvalidNumber),
            ("testValidNumber", testValidNumber),
            ("testCreateValidNumber", testCreateValidNumber),
            ("testCreateOtherValidNumber", testCreateOtherValidNumber),
            ("testCreateYetAnotherValidNumber", testCreateYetAnotherValidNumber),
        ]
    }
}

Version data entries

192 entries across 192 versions & 1 rubygems

Version Path
trackler-2.2.1.45 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.44 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.43 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.42 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.41 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.40 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.39 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.38 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.37 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.36 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.35 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.34 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.33 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.32 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.31 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.30 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.29 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.28 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.27 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift
trackler-2.2.1.26 tracks/swift/exercises/luhn/Tests/LuhnTests/LuhnTests.swift