1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-12-21 11:10:08 +01:00
Files
app/tests/unit/Versions/AppVersionTest.swift

72 lines
2.1 KiB
Swift

//
// AppVersionTest.swift
// PHP Monitor
//
// Created by Nico Verbruggen on 10/05/2022.
// Copyright © 2023 Nico Verbruggen. All rights reserved.
//
import Testing
import Foundation
struct AppVersionTest {
@Test func test_can_parse_normal_version_string() {
let version = AppVersion.from("1.0.0")
#expect(version != nil)
#expect(version!.version == "1.0.0")
#expect(version!.build == nil)
#expect(version!.suffix == nil)
}
@Test func test_can_parse_cask_version_string() {
let version = AppVersion.from("1.0.0_600")
#expect(version != nil)
#expect(version!.version == "1.0.0")
#expect(version!.build == 600)
#expect(version!.suffix == nil)
}
@Test func test_can_parse_dev_version_string_without_build_number() {
let version = AppVersion.from("1.0.0-dev")
#expect(version != nil)
#expect(version!.version == "1.0.0")
#expect(version!.build == nil)
#expect(version!.suffix == "dev")
}
@Test func test_can_parse_dev_version_string_with_build_number() {
let version = AppVersion.from("1.0.0-dev,870")
#expect(version != nil)
#expect(version!.version == "1.0.0")
#expect(version!.build == 870)
#expect(version!.suffix == "dev")
}
@Test func test_can_parse_underscores_as_build_separator() {
let version = AppVersion.from("1.0.0-dev_870")
#expect(version != nil)
#expect(version!.version == "1.0.0")
#expect(version!.build == 870)
#expect(version!.suffix == "dev")
}
@Test func test_can_compare_version_numbers() {
// Build is newer
#expect(AppVersion.from("5.0_101")! > AppVersion.from("5.0_100")!)
// Version and build is the same
#expect(AppVersion.from("5.0.0_100")! == AppVersion.from("5.0_100")!)
// Version is newer
#expect(AppVersion.from("5.1_100")! > AppVersion.from("5.0_100")!)
// Build is older
#expect(AppVersion.from("5.0_101")! < AppVersion.from("5.0_102")!)
}
}