Sha256: 0eca803f60de31a4732fbe4c97bd764836eca804bad6ed21102e8ee8d394c428

Contents?: true

Size: 1.57 KB

Versions: 325

Compression:

Stored size: 1.57 KB

Contents

import XCTest
@testable import RunLengthEncoding

class RunLengthEncodingTests: XCTestCase {
    func testEncodeSimple() {
        XCTAssertEqual(RunLengthEncoding.encode("AABBBCCCC"), "2A3B4C")
    }

    func testDecodeSimple() {
        XCTAssertEqual(RunLengthEncoding.decode("2A3B4C"), "AABBBCCCC")
    }

    func testEncodeWithSingleValues() {
        XCTAssertEqual(RunLengthEncoding.encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"), "12WB12W3B24WB")
    }

    func testDecodeWithSingleValues() {
        XCTAssertEqual(RunLengthEncoding.decode("12WB12W3B24WB"), "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB")
    }

    func testDecodeEncodeCombination() {
        XCTAssertEqual(RunLengthEncoding.decode(RunLengthEncoding.encode("zzz ZZ  zZ")), "zzz ZZ  zZ")
    }

    func testEncodeUnicode() {
        XCTAssertEqual(RunLengthEncoding.encode("⏰⚽⚽⚽⭐⭐⏰"), "⏰3⚽2⭐⏰")
    }

    func testDecodeUnicode() {
        XCTAssertEqual(RunLengthEncoding.decode("⏰3⚽2⭐⏰"), "⏰⚽⚽⚽⭐⭐⏰")
    }

    static var allTests: [(String, (RunLengthEncodingTests) -> () throws -> Void)] {
        return [
            ("testEncodeSimple", testEncodeSimple),
            ("testDecodeSimple", testDecodeSimple),
            ("testEncodeWithSingleValues", testEncodeWithSingleValues),
            ("testDecodeWithSingleValues", testDecodeWithSingleValues),
            ("testDecodeEncodeCombination", testDecodeEncodeCombination),
            ("testEncodeUnicode", testEncodeUnicode),
            ("testDecodeUnicode", testDecodeUnicode),
        ]
    }
}

Version data entries

325 entries across 325 versions & 1 rubygems

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