Files
http/Tests/HTTPTests/VersionTests.swift
2017-10-07 17:54:49 +01:00

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)
]
}