本文整理汇总了C#中Func.ShouldThrow方法的典型用法代码示例。如果您正苦于以下问题:C# Func.ShouldThrow方法的具体用法?C# Func.ShouldThrow怎么用?C# Func.ShouldThrow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Func
的用法示例。
在下文中一共展示了Func.ShouldThrow方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FuncOfTaskOfStringThrowsDifferentExceptionScenarioShouldFail_ExceptionTypePassedIn
public void FuncOfTaskOfStringThrowsDifferentExceptionScenarioShouldFail_ExceptionTypePassedIn()
{
var action = new Func<Task<string>>(() =>
{
throw new RankException();
});
Verify.ShouldFail(() =>
action.ShouldThrow("Some additional context", typeof(InvalidOperationException)),
errorWithSource:
@"Task `action`
should throw
System.InvalidOperationException
but threw
System.RankException
Additional Info:
Some additional context",
errorWithoutSource:
@"Task
should throw
System.InvalidOperationException
but threw
System.RankException
Additional Info:
Some additional context");
}
示例2: Handle_Throws
public void Handle_Throws()
{
var bus = new Mock<IBusForHandler>();
bus.Setup(x => x.Headers(It.IsAny<object>())).Returns(new Dictionary<string, string>
{
{HeaderKeys.MessageId, Guid.NewGuid().ToString()}
});
var action = new Func<Task>(async () => await this.testee.Handle(new object(), bus.Object));
action.ShouldThrow<InvalidOperationException>();
}
示例3: DelegateShouldDropSynchronisationContext
public void DelegateShouldDropSynchronisationContext()
{
// The await keyword will automatically capture synchronisation context
// Because shouldly uses .Wait() we cannot let continuations run on the sync context without a deadlock
var synchronizationContext = new SynchronizationContext();
SynchronizationContext.SetSynchronizationContext(synchronizationContext);
SynchronizationContext.Current.ShouldNotBe(null);
var task = new Func<Task>(() =>
{
SynchronizationContext.Current.ShouldBe(null);
throw new InvalidOperationException();
});
task.ShouldThrow<InvalidOperationException>();
}
示例4: FindByNameAsync_should_throw_notfoundexception_if_rolename_is_not_found
public void FindByNameAsync_should_throw_notfoundexception_if_rolename_is_not_found()
{
using (var store = NewDocumentStore())
{
using (var session = store.OpenAsyncSession())
{
var sut = GetRavenRoleStore(session);
// Act
var act = new Func<Task>(() => sut.FindByNameAsync("XXX"));
// Assert
act.ShouldThrow<NotFoundException>().WithMessage("Carga 'XXX' não existe!");
}
}
}
示例5: FindByNameAsync_should_throw_exception_if_no_rolename_provided
public void FindByNameAsync_should_throw_exception_if_no_rolename_provided()
{
using (var store = NewDocumentStore())
{
using (var session = store.OpenAsyncSession())
{
var sut = GetRavenRoleStore(session);
// Act
var act = new Func<Task>(() => sut.FindByNameAsync(""));
// Assert
act.ShouldThrow<ArgumentNullException>();
}
}
}
示例6: DeleteAsync_should_throw_exception_if_the_role_has_associated_users
public async Task DeleteAsync_should_throw_exception_if_the_role_has_associated_users()
{
using (var store = NewDocumentStore())
{
new ApplicationUsersIndex().Execute(store);
using (var session = store.OpenAsyncSession())
{
// Arrange
var user = new ApplicationUser("jeremyholt") {Roles = {"Admin", "Accounts"}};
await session.StoreAsync(user);
await session.SaveChangesAsync();
var role = new ApplicationRole("Admin");
await session.StoreAsync(role);
await session.SaveChangesAsync();
var roleStoreService = new RavenRoleStore(session);
// Act
var act = new Func<Task>(() => roleStoreService.DeleteAsync(role));
// Assert
act.ShouldThrow<InvalidOperationException>().WithMessage("Não pode deletar carga 'Admin' porque existem usuários nessa carga");
}
}
}
示例7: CreateUser_should_throw_exception_if_the_role_he_is_allocated_to_does_not_exist
public void CreateUser_should_throw_exception_if_the_role_he_is_allocated_to_does_not_exist()
{
using (var store = NewDocumentStore())
{
using (var session = store.OpenAsyncSession())
{
var controller = GetAccountsController(session);
// Arrange
var model = new CreateUserBindingModel
{
Username = "jeremyholt",
FirstName = "Jeremy",
LastName = "Holt",
Email = "[email protected]",
Password = "ABCDEF"
};
model.Roles.AddRange(new List<string> {"Admin", "Accounts"});
// Act
var act = new Func<Task>(() => controller.CreateUser(model));
// Assert
act.ShouldThrow<InvalidOperationException>()
.WithMessage("Não existem as cargas 'Admin, Accounts' - por favor cria essas cargas antes que tentando de adicionar o usuário.");
}
}
}
示例8: ShouldPass
public void ShouldPass()
{
// ReSharper disable once RedundantDelegateCreation
var task = new Func<Task>(() => { throw new InvalidOperationException(); });
task.ShouldThrow<InvalidOperationException>();
}
示例9: Should_throw_on_response_timeout
public void Should_throw_on_response_timeout()
{
IServiceLocator serviceLocator = TestRig.CreateTestServiceLocator();
var mockTransport = new Mock<IClientTransport>();
serviceLocator.RegisterInstance(CreateMockTransportFactory(mockTransport.Object));
var testAction = new Func<Task>(
async () =>
{
using (var connection = serviceLocator.ResolveType<IMTProtoClientConnection>())
{
await connection.Connect();
await connection.RequestAsync<TestResponse>(new TestRequest(), MessageSendingFlags.None, TimeSpan.FromSeconds(1));
}
});
testAction.ShouldThrow<TaskCanceledException>();
}
示例10: ShouldPass_ExceptionTypePassedIn
public void ShouldPass_ExceptionTypePassedIn()
{
// ReSharper disable once RedundantDelegateCreation
var task = new Func<Task>(() => { throw new InvalidOperationException(); });
task.ShouldThrow(typeof(InvalidOperationException));
}