func test_componentForCurrentPass_builderReturnsSameInstance_verifyAssertion()

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.")
    }