90 lines
3.1 KiB
Swift
90 lines
3.1 KiB
Swift
// This source file is part of the Swift.org Server APIs open source project
|
|
//
|
|
// Copyright (c) 2017 Swift Server API project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See http://swift.org/LICENSE.txt for license information
|
|
//
|
|
|
|
import XCTest
|
|
|
|
@testable import HTTP
|
|
|
|
class VersionTests: XCTestCase {
|
|
let version10 = HTTPVersion(major: 1, minor: 0)
|
|
let version11 = HTTPVersion(major: 1, minor: 1)
|
|
let version20 = HTTPVersion(major: 2, minor: 0)
|
|
|
|
func testEquals() {
|
|
XCTAssertEqual(version10, version10)
|
|
XCTAssertEqual(version11, version11)
|
|
XCTAssertEqual(version20, version20)
|
|
|
|
XCTAssertNotEqual(version10, version11)
|
|
XCTAssertNotEqual(version11, version10)
|
|
XCTAssertNotEqual(version20, version10)
|
|
XCTAssertNotEqual(version20, version11)
|
|
}
|
|
|
|
func testGreater() {
|
|
XCTAssertGreaterThan(version11, version10)
|
|
XCTAssertGreaterThan(version20, version10)
|
|
XCTAssertGreaterThan(version20, version11)
|
|
|
|
XCTAssertGreaterThanOrEqual(version10, version10)
|
|
XCTAssertGreaterThanOrEqual(version11, version11)
|
|
XCTAssertGreaterThanOrEqual(version20, version20)
|
|
|
|
XCTAssertFalse(version10 > version11)
|
|
XCTAssertFalse(version10 > version20)
|
|
XCTAssertFalse(version11 > version20)
|
|
|
|
XCTAssertFalse(version10 >= version11)
|
|
XCTAssertFalse(version10 >= version20)
|
|
XCTAssertFalse(version11 >= version20)
|
|
}
|
|
|
|
func testLess() {
|
|
XCTAssertLessThan(version10, version11)
|
|
XCTAssertLessThan(version10, version20)
|
|
XCTAssertLessThan(version11, version20)
|
|
|
|
XCTAssertLessThanOrEqual(version10, version10)
|
|
XCTAssertLessThanOrEqual(version11, version11)
|
|
XCTAssertLessThanOrEqual(version20, version20)
|
|
|
|
XCTAssertFalse(version11 < version10)
|
|
XCTAssertFalse(version20 < version10)
|
|
XCTAssertFalse(version20 < version11)
|
|
|
|
XCTAssertFalse(version11 <= version10)
|
|
XCTAssertFalse(version20 <= version10)
|
|
XCTAssertFalse(version20 <= version11)
|
|
}
|
|
|
|
func testHashValue() {
|
|
XCTAssertEqual(version10.hashValue, HTTPVersion(major: 1, minor: 0).hashValue)
|
|
XCTAssertEqual(version11.hashValue, HTTPVersion(major: 1, minor: 1).hashValue)
|
|
XCTAssertEqual(version20.hashValue, HTTPVersion(major: 2, minor: 0).hashValue)
|
|
|
|
XCTAssertNotEqual(version10.hashValue, HTTPVersion(major: 1, minor: 1).hashValue)
|
|
XCTAssertNotEqual(version11.hashValue, HTTPVersion(major: 1, minor: 0).hashValue)
|
|
XCTAssertNotEqual(version20.hashValue, HTTPVersion(major: 1, minor: 0).hashValue)
|
|
XCTAssertNotEqual(version20.hashValue, HTTPVersion(major: 1, minor: 1).hashValue)
|
|
}
|
|
|
|
func testDescription() {
|
|
XCTAssertEqual(version10.description, "HTTP/1.0")
|
|
XCTAssertEqual(version11.description, "HTTP/1.1")
|
|
XCTAssertEqual(version20.description, "HTTP/2.0")
|
|
}
|
|
|
|
static var allTests = [
|
|
("testEquals", testEquals),
|
|
("testGreater", testGreater),
|
|
("testLess", testLess),
|
|
("testHashValue", testHashValue),
|
|
("testDescription", testDescription)
|
|
]
|
|
}
|