public void DefaultElementActivator_Create_ViaParameters(Class1 class1) { var defaultElementActivator = new DefaultElementActivator(); var instance = defaultElementActivator.Create <ClassWithMultipleConstructors>(class1); instance.Class1.Should().Be(class1); }
public void DefaultElementActivator_Create_MatchesFirstParameter_ViaConstructorParameter(Class1 class1, Class2 class2) { var sut = new DefaultElementActivator(class1); var instance = sut.Create <ClassWithMultipleConstructors>(class2); instance.Class1.Should().Be(class1); instance.Interface1.Should().Be(class2); instance.Interface2.Should().Be(class2); }
public void DefaultElementActivator_Create_IsGreedy(Class1 class1, Class2 class2) { var sut = new DefaultElementActivator(); var instance = sut.Create <ClassWithMultipleConstructors>(class1, class2); instance.Class1.Should().Be(class1); instance.Interface1.Should().Be(class1); instance.Interface2.Should().Be(class2); }
public void DefaultElementActivator_Create_Throws() { var sut = new DefaultElementActivator(); var action = new Action(() => sut.Create <ClassWithMultipleConstructors>()); action.Should() .Throw <ActivationException>() .WithMessage("Cannot resolve parameter 'Selenium.Community.PageObjects.Tests.DefaultElementActivatorTests+Class1 class1' of constructor 'Void .ctor(Selenium.Community.PageObjects.Tests.DefaultElementActivatorTests+Class1)'."); }
public void DefaultElementActivator_Create_NoConstructor() { var defaultElementActivator = new DefaultElementActivator(); new Action(() => defaultElementActivator.Create <Class1>()).Should().NotThrow(); }