in RIBsTests/ComponentizedBuilderTests.swift [23:43]
func test_componentForCurrentPass_builderReturnsSameInstance_verifyAssertion() {
let component = MockComponent()
let sameInstanceBuilder = MockComponentizedBuilder {
return component
}
sameInstanceBuilder.buildHandler = { component, _ in
return MockSimpleRouter()
}
let _: MockSimpleRouter = sameInstanceBuilder.build(withDynamicBuildDependency: (), dynamicComponentDependency: ())
let options = XCTExpectedFailure.Options()
options.issueMatcher = { issue in
issue.type == .assertionFailure
}
let assertionFailureException = catchBadInstruction {
let _: MockSimpleRouter = sameInstanceBuilder.build(withDynamicBuildDependency: (), dynamicComponentDependency: ())
}
XCTAssertNotNil(assertionFailureException, "Builder should not return the same instance for the same component. Assertion failure is triggered.")
}