mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-26 22:46:37 -04:00
@@ -36,7 +36,7 @@ namespace NzbDrone.Core.Test.Messaging.Commands
|
||||
[Test]
|
||||
public void should_return_true_when_single_property_matches()
|
||||
{
|
||||
var command1 = new AlbumSearchCommand { AlbumIds = new List<int>{ 1 } };
|
||||
var command1 = new AlbumSearchCommand { AlbumIds = new List<int> { 1 } };
|
||||
var command2 = new AlbumSearchCommand { AlbumIds = new List<int> { 1 } };
|
||||
|
||||
CommandEqualityComparer.Instance.Equals(command1, command2).Should().BeTrue();
|
||||
@@ -51,12 +51,11 @@ namespace NzbDrone.Core.Test.Messaging.Commands
|
||||
CommandEqualityComparer.Instance.Equals(command1, command2).Should().BeFalse();
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void should_return_false_when_only_one_has_properties()
|
||||
{
|
||||
var command1 = new ArtistSearchCommand();
|
||||
var command2 = new ArtistSearchCommand { ArtistId = 2};
|
||||
var command2 = new ArtistSearchCommand { ArtistId = 2 };
|
||||
|
||||
CommandEqualityComparer.Instance.Equals(command1, command2).Should().BeFalse();
|
||||
}
|
||||
@@ -108,7 +107,6 @@ namespace NzbDrone.Core.Test.Messaging.Commands
|
||||
CommandEqualityComparer.Instance.Equals(command1, command2).Should().BeTrue();
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void should_return_false_when_commands_list_for_non_primitive_type_dont_match()
|
||||
{
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -214,5 +212,4 @@ namespace NzbDrone.Core.Test.Messaging.Commands
|
||||
{
|
||||
public override string CompletionMessage => null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using Moq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FizzWare.NBuilder;
|
||||
using NzbDrone.Core.ImportLists;
|
||||
using NzbDrone.Core.Update.Commands;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
using NzbDrone.Core.Music.Commands;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Update.Commands;
|
||||
|
||||
namespace NzbDrone.Core.Test.Messaging.Commands
|
||||
{
|
||||
|
||||
@@ -12,33 +12,31 @@ namespace NzbDrone.Core.Test.Messaging.Events
|
||||
[TestFixture]
|
||||
public class EventAggregatorFixture : TestBase<EventAggregator>
|
||||
{
|
||||
private Mock<IHandle<EventA>> HandlerA1;
|
||||
private Mock<IHandle<EventA>> HandlerA2;
|
||||
private Mock<IHandle<EventA>> _handlerA1;
|
||||
private Mock<IHandle<EventA>> _handlerA2;
|
||||
|
||||
private Mock<IHandle<EventB>> HandlerB1;
|
||||
private Mock<IHandle<EventB>> HandlerB2;
|
||||
|
||||
private Mock<IHandleAsync<EventA>> AsyncHandlerA1;
|
||||
private Mock<IHandle<EventB>> _handlerB1;
|
||||
private Mock<IHandle<EventB>> _handlerB2;
|
||||
|
||||
private Mock<IHandleAsync<EventA>> _asyncHandlerA1;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
HandlerA1 = new Mock<IHandle<EventA>>();
|
||||
HandlerA2 = new Mock<IHandle<EventA>>();
|
||||
HandlerB1 = new Mock<IHandle<EventB>>();
|
||||
HandlerB2 = new Mock<IHandle<EventB>>();
|
||||
_handlerA1 = new Mock<IHandle<EventA>>();
|
||||
_handlerA2 = new Mock<IHandle<EventA>>();
|
||||
_handlerB1 = new Mock<IHandle<EventB>>();
|
||||
_handlerB2 = new Mock<IHandle<EventB>>();
|
||||
|
||||
AsyncHandlerA1 = new Mock<IHandleAsync<EventA>>();
|
||||
_asyncHandlerA1 = new Mock<IHandleAsync<EventA>>();
|
||||
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandle<EventA>>())
|
||||
.Returns(new List<IHandle<EventA>> { HandlerA1.Object, HandlerA2.Object });
|
||||
.Returns(new List<IHandle<EventA>> { _handlerA1.Object, _handlerA2.Object });
|
||||
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandle<EventB>>())
|
||||
.Returns(new List<IHandle<EventB>> { HandlerB1.Object, HandlerB2.Object });
|
||||
|
||||
.Returns(new List<IHandle<EventB>> { _handlerB1.Object, _handlerB2.Object });
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -48,8 +46,8 @@ namespace NzbDrone.Core.Test.Messaging.Events
|
||||
|
||||
Subject.PublishEvent(eventA);
|
||||
|
||||
HandlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
HandlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -57,88 +55,81 @@ namespace NzbDrone.Core.Test.Messaging.Events
|
||||
{
|
||||
var eventA = new EventA();
|
||||
|
||||
|
||||
Subject.PublishEvent(eventA);
|
||||
|
||||
HandlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
HandlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
|
||||
HandlerB1.Verify(c => c.Handle(It.IsAny<EventB>()), Times.Never());
|
||||
HandlerB2.Verify(c => c.Handle(It.IsAny<EventB>()), Times.Never());
|
||||
_handlerB1.Verify(c => c.Handle(It.IsAny<EventB>()), Times.Never());
|
||||
_handlerB2.Verify(c => c.Handle(It.IsAny<EventB>()), Times.Never());
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void broken_handler_should_not_effect_others_handler()
|
||||
{
|
||||
var eventA = new EventA();
|
||||
|
||||
|
||||
HandlerA1.Setup(c => c.Handle(It.IsAny<EventA>()))
|
||||
_handlerA1.Setup(c => c.Handle(It.IsAny<EventA>()))
|
||||
.Throws(new NotImplementedException());
|
||||
|
||||
Subject.PublishEvent(eventA);
|
||||
|
||||
HandlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
HandlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA1.Verify(c => c.Handle(eventA), Times.Once());
|
||||
_handlerA2.Verify(c => c.Handle(eventA), Times.Once());
|
||||
|
||||
ExceptionVerification.ExpectedErrors(1);
|
||||
}
|
||||
|
||||
|
||||
/* [Test]
|
||||
public void should_queue_multiple_async_events()
|
||||
{
|
||||
var eventA = new EventA();
|
||||
/* [Test]
|
||||
public void should_queue_multiple_async_events()
|
||||
{
|
||||
var eventA = new EventA();
|
||||
|
||||
|
||||
|
||||
var handlers = new List<IHandleAsync<EventA>>
|
||||
{
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
};
|
||||
var handlers = new List<IHandleAsync<EventA>>
|
||||
{
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
AsyncHandlerA1.Object,
|
||||
};
|
||||
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandle<EventA>>())
|
||||
.Returns(new List<IHandle<EventA>>());
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandle<EventA>>())
|
||||
.Returns(new List<IHandle<EventA>>());
|
||||
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandleAsync<EventA>>())
|
||||
.Returns(handlers);
|
||||
Mocker.GetMock<IServiceFactory>()
|
||||
.Setup(c => c.BuildAll<IHandleAsync<EventA>>())
|
||||
.Returns(handlers);
|
||||
|
||||
var counter = new ConcurrencyCounter(handlers.Count);
|
||||
var counter = new ConcurrencyCounter(handlers.Count);
|
||||
|
||||
|
||||
AsyncHandlerA1.Setup(c => c.HandleAsync(It.IsAny<EventA>()))
|
||||
.Callback<EventA>(c =>
|
||||
{
|
||||
var id = counter.Start();
|
||||
Thread.Sleep(1000);
|
||||
counter.Stop(id);
|
||||
});
|
||||
AsyncHandlerA1.Setup(c => c.HandleAsync(It.IsAny<EventA>()))
|
||||
.Callback<EventA>(c =>
|
||||
{
|
||||
var id = counter.Start();
|
||||
Thread.Sleep(1000);
|
||||
counter.Stop(id);
|
||||
});
|
||||
|
||||
Subject.PublishEvent(eventA);
|
||||
Subject.PublishEvent(eventA);
|
||||
|
||||
counter.WaitForAllItems();
|
||||
counter.WaitForAllItems();
|
||||
|
||||
counter.MaxThreads.Should().Be(3);
|
||||
}*/
|
||||
counter.MaxThreads.Should().Be(3);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
public class EventA : IEvent
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class EventB : IEvent
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user