public void GetResponsiveComponentBasedOn_ShouldReturnOriginalComponentWhenInvokedWithFalseButNoMatchingResponsiveComponentFound() { // Arrange var sut = Substitute.ForPartsOf <DummyComponent>(); var expectedFancyComponentInstance = new ResponsiveFancyComponent(); sut.When(x => x.GetComponent <ResponsiveFancyComponent>()).DoNotCallBase(); sut.GetComponent <ResponsiveFancyComponent>().Returns(expectedFancyComponentInstance); // Act var result = sut.GetResponsiveComponent <UiComponent, ResponsiveFancyComponent>(false); // Assert result.Should().BeSameAs(expectedFancyComponentInstance); }
public void GetResponsiveComponentBasedOn_ShouldReturnMatchingResponsiveComponentByResponsiveMarkerAndNamingConvention() { // Arrange var sut = Substitute.ForPartsOf <DummyComponent>(); var responsiveComponent = new ResponsiveFancyComponent(); sut.WhenForAnyArgs(x => x.GetComponent(null)).DoNotCallBase(); sut.GetComponent(typeof(ResponsiveFancyComponent)).Returns(responsiveComponent); sut.When(x => x.GetComponent <FancyComponent>()).DoNotCallBase(); sut.GetComponent <FancyComponent>().Returns(null as FancyComponent); // Act var result = sut.GetResponsiveComponent <DummyComponent, FancyComponent>(false); // Assert result.Should().BeSameAs(responsiveComponent); }