Files
2026-06-13 16:22:23 +08:00

68 lines
2.4 KiB
Swift

// Copyright (c) 2026 Timofey Solomko
// Licensed under MIT License
//
// See LICENSE for license information
import Foundation
import XCTest
@testable import SWCompression
class Sha256Tests: XCTestCase {
func test1() {
let message = ""
let answer = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
let hash = Sha256.hash(data: Data(message.utf8))
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test2() {
let message = "a"
let answer = "ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test3() {
let message = "abc"
let answer = "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test4() {
let message = "message digest"
let answer = "f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test5() {
let message = "abcdefghijklmnopqrstuvwxyz"
let answer = "71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test6() {
let message = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
let answer = "db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
func test7() {
let message = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
let answer = "f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e"
let data = Data(message.utf8)
let hash = Sha256.hash(data: data)
XCTAssertEqual(hash.map { String(format: "%02x", $0) }.joined(), answer)
}
}