I'm trying to write tests for functions that return enum cases with associated values. Is there a less awkward way to write this:
if case MyEnum.someCase(value1: 42, value2: "hello") = testResult {
// pass
} else {
XCTFail()
}
It would be nice if pattern matching was a bit more composable. Maybe case ... could return a boolean or something, or maybe I'm just thinking about this wrong.
1 Like
XCTAssertEqual requires the thing being asserted to conform to Equatable. So, you can conform your enum to Equatable, then you can simply do XCTAssertEqual(testResult, .someCase(value1: 42, value2: hello)).
Yeah that would work, thanks.