public void AssertIsValidDiscovererType_throws_nothing_when_type_and_arguments_match_ITypeDiscoverer(Type type, object[] args) { var discovererTypeInfo = new TypeDiscovererInfo { DiscovererType = type, DiscovererArgumentTypes = args.Select(x => x.GetType()).ToArray(), DiscovererArguments = args }; Assert.That( () => TypeDiscovererTypeValidator.AssertIsValidDiscovererType(discovererTypeInfo), Throws.Nothing); }
public void AssertIsValidDiscovererType_throws_ArgumentOutOfRangeException_when_provided_type_is_not_an_ITypeDiscoverer(Type type) { var discovererTypeInfo = new TypeDiscovererInfo { DiscovererType = type, DiscovererArgumentTypes = new Type[] {}, DiscovererArguments = new object[] {} }; Assert.That( () => TypeDiscovererTypeValidator.AssertIsValidDiscovererType(discovererTypeInfo), Throws.Exception.TypeOf <ArgumentOutOfRangeException>() .With.Message.Match("must be of type ITypeDiscoverer") ); }
public void AssertIsValidDiscovererType_throws_ArgumentNullException_when_provided_discoverer_type_is_null() { var discovererTypeInfo = new TypeDiscovererInfo { DiscovererType = null, DiscovererArgumentTypes = new Type[] {}, DiscovererArguments = new object[] {} }; Assert.That( () => TypeDiscovererTypeValidator.AssertIsValidDiscovererType(discovererTypeInfo), Throws.ArgumentNullException .With.Message.Match("specified as ITypeDiscoverer .* cannot be null") ); }
public void AssertIsValidDiscovererType_throws_ArgumentOutOfRangeException_when_no_matching_noargs_ctor_is_found(Type type, object[] args) { var discovererTypeInfo = new TypeDiscovererInfo { DiscovererType = type, DiscovererArgumentTypes = args.Select(x => x.GetType()).ToArray(), DiscovererArguments = args }; Assert.That( () => TypeDiscovererTypeValidator.AssertIsValidDiscovererType(discovererTypeInfo), Throws.Exception.TypeOf <ArgumentOutOfRangeException>() .With.Message.Match( Regex.Escape($"{type.FullName}") + ".* must have a constructor which corresponds" + " to the argument types which were provided" ) ); }