Files
swift-mirror/validation-test/Evolution/test_enum_reorder_cases.swift
Slava Pestov 6798eea160 Evolution: Some of these tests pass with swift_test_mode_optimize_none_with_implicit_dynamic
The remaining failures still warrant investigation.
2019-06-11 00:54:32 -07:00

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()