public void AttributeBasedPresenterDiscoveryStrategy_GetBindings_SingleViewWithNoAttribute() { // Arrange var strategy = new AttributeBasedPresenterDiscoveryStrategy(); var hosts = new object[0]; var view1 = new View1(); var views = new [] { view1 }; // Act var results = strategy.GetBindings(hosts, views).ToArray(); // Assert CollectionAssert.AreEqual(new[] { new PresenterDiscoveryResult ( new[] {view1}, @"AttributeBasedPresenterDiscoveryStrategy: - could not find a [PresenterBinding] attribute on view instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithNoAttribute+View1", new PresenterBinding[0] ) }, results ); }
public void AttributeBasedPresenterDiscoveryStrategy_GetBindings_MultipleViewInstancesWithSharedPresenterOnHost() { // Arrange var strategy = new AttributeBasedPresenterDiscoveryStrategy(); var hosts = new[] { new Host1() }; var viewInstance1 = new View1(); var viewInstance2 = new View1(); var viewInstances = new[] { viewInstance1, viewInstance2 }; // Act var results = strategy.GetBindings(hosts, viewInstances).ToArray(); // Assert CollectionAssert.AreEqual(new[] { new PresenterDiscoveryResult ( new[] {viewInstance1, viewInstance2}, @"AttributeBasedPresenterDiscoveryStrategy: - could not find a [PresenterBinding] attribute on view instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_MultipleViewInstancesWithSharedPresenterOnHost+View1 - found a [PresenterBinding] attribute on host instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_MultipleViewInstancesWithSharedPresenterOnHost+Host1 (presenter type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_MultipleViewInstancesWithSharedPresenterOnHost+Presenter1, view type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_MultipleViewInstancesWithSharedPresenterOnHost+IViewInterface1, binding mode: SharedPresenter) - including 1 more view instances in the binding because the binding mode is SharedPresenter and they are compatible with the view type WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_MultipleViewInstancesWithSharedPresenterOnHost+IViewInterface1", new[] { new PresenterBinding(typeof(Presenter1), typeof(IViewInterface1), BindingMode.SharedPresenter, new[] {viewInstance1, viewInstance2}), } ) }, results ); }
public void AttributeBasedPresenterDiscoveryStrategy_GetBindings_SingleViewWithMultipleAttributes() { // Arrange var strategy = new AttributeBasedPresenterDiscoveryStrategy(); var hosts = new object[0]; var view1 = new View1(); var views = new [] { view1 }; // Act var results = strategy.GetBindings(hosts, views).ToArray(); // Assert CollectionAssert.AreEqual(new[] { new PresenterDiscoveryResult ( new[] {view1}, @"AttributeBasedPresenterDiscoveryStrategy: - found a [PresenterBinding] attribute on view instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+View1 (presenter type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+Presenter1, view type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+View1, binding mode: Default) - found a [PresenterBinding] attribute on view instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+View1 (presenter type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+Presenter2, view type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleViewWithMultipleAttributes+View1, binding mode: Default)", new[] { new PresenterBinding(typeof(Presenter1), typeof(View1), BindingMode.Default, new[] {view1}), new PresenterBinding(typeof(Presenter2), typeof(View1), BindingMode.Default, new[] {view1}), } ) }, results ); }
public void AttributeBasedPresenterDiscoveryStrategy_GetBindings_SingleAttributeOnHostScopedToViewInterface() { // Arrange var strategy = new AttributeBasedPresenterDiscoveryStrategy(); var hosts = new [] { new Host1() }; var view1 = new View1(); var views = new[] { view1 }; // Act var results = strategy.GetBindings(hosts, views).ToArray(); // Assert CollectionAssert.AreEqual(new[] { new PresenterDiscoveryResult ( new[] {view1}, @"AttributeBasedPresenterDiscoveryStrategy: - could not find a [PresenterBinding] attribute on view instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleAttributeOnHostScopedToViewInterfaceWithSingleView+View1 - found a [PresenterBinding] attribute on host instance WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleAttributeOnHostScopedToViewInterfaceWithSingleView+Host1 (presenter type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleAttributeOnHostScopedToViewInterfaceWithSingleView+Presenter1, view type: WebFormsMvp.UnitTests.Binder.AttributeBasedPresenterDiscoveryStrategyTests.GetBindings_SingleAttributeOnHostScopedToViewInterfaceWithSingleView+IViewInterface1, binding mode: Default)", new[] { new PresenterBinding(typeof(Presenter1), typeof(IViewInterface1), BindingMode.Default, new[] {view1}), } ) }, results ); }
public void AttributeBasedPresenterDiscoveryStrategy_GetBindings_ShouldGuardNullViewInstances() { // Arrange var strategy = new AttributeBasedPresenterDiscoveryStrategy(); try { // Act strategy.GetBindings(new object[0], null).ToArray(); // Assert Assert.Fail("Expected exception not thrown"); } catch (ArgumentNullException ex) { // Assert Assert.AreEqual("viewInstances", ex.ParamName); } }