mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
41 lines
1.1 KiB
Swift
41 lines
1.1 KiB
Swift
// RUN: %target-resilience-test
|
|
// REQUIRES: executable_test
|
|
|
|
import enum_reorder_cases
|
|
import StdlibUnittest
|
|
|
|
var EnumReorderCases = TestSuite("EnumReorderCases")
|
|
|
|
func testGenericResilience<T: Equatable>(
|
|
_ e: GenericResilientEnum<T>, expectedCase: Int, expectedValue: T
|
|
) {
|
|
var whichCase = 0
|
|
switch e {
|
|
case .FirstCase:
|
|
whichCase = 1
|
|
case .SecondCase:
|
|
whichCase = 2
|
|
case .ThirdCase(let o):
|
|
whichCase = 3
|
|
expectEqual(o.someNumber(), 7)
|
|
case .ForthCase(let t):
|
|
whichCase = 4
|
|
expectEqual(t, expectedValue)
|
|
}
|
|
expectEqual(whichCase, expectedCase)
|
|
}
|
|
|
|
EnumReorderCases.test("test1") {
|
|
let e1 = GenericResilientEnum<Float>.FirstCase
|
|
testGenericResilience(e1, expectedCase: 1, expectedValue: 0)
|
|
expectEqual(getCase(e1), 1)
|
|
let e2 = createGenericResilientEnum2()
|
|
testGenericResilience(e2, expectedCase: 2, expectedValue: 0)
|
|
let e3 = createGenericResilientEnum3()
|
|
testGenericResilience(e3, expectedCase: 3, expectedValue: 0)
|
|
let e4 = createGenericResilientEnum4(8)
|
|
testGenericResilience(e4, expectedCase: 4, expectedValue: 8)
|
|
}
|
|
|
|
runAllTests()
|