public void Constructor_Always_PropertiesAreGiven() { var mockOldChannel = new Mock <ISocketChannel>(); var mockNewChannel = new Mock <ISocketChannel>(); var uut = new ChannelUpdatedNotification(mockOldChannel.Object, mockNewChannel.Object); uut.OldChannel.ShouldBeSameAs(mockOldChannel.Object); uut.NewChannel.ShouldBeSameAs(mockNewChannel.Object); }
public async Task HandleNotificationAsync_ChannelUpdatedNotification_ChannelIsTextChannel_TracksChannel() { var autoMocker = new AutoMocker(); var uut = autoMocker.CreateInstance <ChannelTrackingBehavior>(); var mockOldChannel = new Mock <ISocketTextChannel>(); var mockNewChannel = new Mock <ISocketTextChannel>(); var notification = new ChannelUpdatedNotification(mockOldChannel.Object, mockNewChannel.Object); using (var cancellationTokenSource = new CancellationTokenSource()) { await uut.HandleNotificationAsync(notification, cancellationTokenSource.Token); autoMocker.GetMock <IChannelService>() .ShouldHaveReceived(x => x.TrackChannelAsync(mockNewChannel.Object, cancellationTokenSource.Token)); } }
public void HandleNotificationAsync_ChannelUpdatedNotification_ChannelIsNotTextChannel_CompletesImmediately(Type channelType) { var autoMocker = new AutoMocker(); var uut = autoMocker.CreateInstance <ChannelTrackingBehavior>(); var mockOldChannel = typeof(Mock <>).MakeGenericType(channelType).GetConstructor(Array.Empty <Type>()).Invoke(Array.Empty <object>()) as Mock; var mockNewChannel = typeof(Mock <>).MakeGenericType(channelType).GetConstructor(Array.Empty <Type>()).Invoke(Array.Empty <object>()) as Mock; var notification = new ChannelUpdatedNotification(mockOldChannel.Object as ISocketChannel, mockNewChannel.Object as ISocketChannel); using (var cancellationTokenSource = new CancellationTokenSource()) { uut.HandleNotificationAsync(notification, cancellationTokenSource.Token) .IsCompletedSuccessfully.ShouldBeTrue(); autoMocker.GetMock <IChannelService>() .Invocations.ShouldBeEmpty(); } }