public void should_get_the_greediest_constructor_if_there_is_more_than_one() { var selector = new ConstructorSelector(); var constructor = selector.Select(typeof (GreaterThanRule)); constructor.GetParameters().Select(x => x.ParameterType) .ShouldHaveTheSameElementsAs(typeof (string), typeof (int)); }
public void should_get_the_greediest_constructor_if_there_is_more_than_one() { var selector = new ConstructorSelector(PluginGraph.CreateRoot()); var constructor = selector.Select(typeof (GreaterThanRule), new DependencyCollection()); constructor.GetParameters().Select(x => x.ParameterType) .ShouldHaveTheSameElementsAs(typeof (IWidget), typeof (Rule)); }
public void get_the_first_constructor_marked_with_the_attribute_if_it_exists() { var selector = new ConstructorSelector(); var constructor = selector.Select(typeof (ComplexRule)); constructor.GetParameters().Length .ShouldBe(7); }
public void custom_selectors_have_precedence() { var selector = new ConstructorSelector(); selector.Add(new PickTheFirstOne()); selector.Select(typeof (ClassWithMultipleConstructors)) .GetParameters().Select(x => x.ParameterType) .ShouldHaveTheSameElementsAs(typeof (IGateway)); }
public void get_the_first_constructor_marked_with_the_attribute_if_it_exists() { var selector = new ConstructorSelector(PluginGraph.CreateRoot()); var constructor = selector.Select(typeof (ComplexRule), new DependencyCollection()); constructor.GetParameters().Length .ShouldBe(7); }