Sha256: 142f6020f6692c5c8d86f6a721aba4f2693a9b9051bef13a39fac7a8e11a699c

Contents?: true

Size: 1.03 KB

Versions: 71

Compression:

Stored size: 1.03 KB

Contents

#if swift(>=3.0)
    import XCTest
#endif

class RunLengthEncodingTest: 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⭐⏰"), "⏰⚽⚽⚽⭐⭐⏰")
    }
}

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
trackler-2.0.6.15 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.14 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.13 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.12 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.11 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.10 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.9 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.8 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.7 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.6 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.5 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.4 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.3 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.2 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.1 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.6.0 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.5.18 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.5.17 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.5.16 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift
trackler-2.0.5.15 tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift