this repo has no description
www.jonmsterling.com/01HC/
1// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers
2//
3// SPDX-License-Identifier: MPL-2.0
4
5import Testing
6@testable import PterodactylKernel
7
8struct SizeTests {
9 @Test func leqIsReflexive() async throws {
10 let analysis = LocalAnalysis()
11
12 await #expect(throws: Never.self) {
13 try await analysis.assertLeq(size1: .big, size2: .big)
14 }
15 }
16
17 @Test func moderateIsNotSmall() async throws {
18 let analysis = LocalAnalysis()
19
20 await #expect(throws: LocalAnalysis.SizeError.self) {
21 try await analysis.assertLeq(size1: .big, size2: .little(universe: .universeZero))
22 }
23 }
24
25 @Test func lubIsCommutative() async throws {
26 let analysis = LocalAnalysis()
27 await #expect(throws: Never.self) {
28 let lhs = Value.universeLub(.universeZero, .universeSucc(.universeZero))
29 let rhs = Value.universeLub(.universeSucc(.universeZero), .universeZero)
30 try await analysis.equate(size: .little(universe: lhs), with: .little(universe: rhs))
31 }
32 }
33
34 @Test func lubZeroLeftUnit() async throws {
35 let analysis = LocalAnalysis()
36 await #expect(throws: Never.self) {
37 let lhs = Value.universeLub(.universeZero, .universeSucc(.universeZero))
38 let rhs = Value.universeSucc(.universeZero)
39 try await analysis.equate(size: .little(universe: lhs), with: .little(universe: rhs))
40 }
41 }
42
43 @Test func lubZeroRightUnit() async throws {
44 let analysis = LocalAnalysis()
45 await #expect(throws: Never.self) {
46 let lhs = Value.universeLub(.universeSucc(.universeZero), .universeZero)
47 let rhs = Value.universeSucc(.universeZero)
48 try await analysis.equate(size: .little(universe: lhs), with: .little(universe: rhs))
49 }
50 }
51
52 @Test func succDistributesOverLub() async throws {
53 let analysis = LocalAnalysis()
54 await #expect(throws: Never.self) {
55 let lhs = Value.universeSucc(Value.universeLub(.universeZero, .universeSucc(.universeZero)))
56 let rhs = Value.universeLub(.universeSucc(.universeSucc(.universeZero)), .universeSucc(.universeZero))
57 try await analysis.equate(size: .little(universe: lhs), with: .little(universe: rhs))
58 }
59 }
60
61}