public void ConnectControlSingleton_EditConnection_SelectedServerIndexIsOutOfRange_StudioResourceRepositoryDisconnectIsNotCalled()
{
var studioResourceRepository = new Mock<IStudioResourceRepository>();
studioResourceRepository.Setup(s => s.Disconnect(It.IsAny<Guid>())).Verifiable();
var asyncWorker = new Mock<IAsyncWorker>();
var serverProvider = new Mock<IEnvironmentModelProvider>();
var environmentRepository = new Mock<IEnvironmentRepository>();
var environmentModels = new List<IEnvironmentModel>
{
new TestEnvironmentModel(new Mock<IEventAggregator>().Object, Guid.NewGuid(), CreateConnection(true).Object, new Mock<IResourceRepository>().Object, false),
new TestEnvironmentModel(new Mock<IEventAggregator>().Object, Guid.NewGuid(), CreateConnection(false).Object, new Mock<IResourceRepository>().Object, false)
};
serverProvider.Setup(s => s.Load()).Returns(environmentModels);
IConnectControlSingleton connectControlSingleton = new ConnectControlSingleton(studioResourceRepository.Object, asyncWorker.Object, serverProvider.Object, environmentRepository.Object);
var wasCallbackInvoked = false;
//------------Execute Test---------------------------
connectControlSingleton.EditConnection(99, index =>
{
wasCallbackInvoked = true;
});
connectControlSingleton.EditConnection(-1, index =>
{
wasCallbackInvoked = true;
});
//------------Assert Results-------------------------
Assert.IsNotNull(connectControlSingleton);
Assert.IsFalse(wasCallbackInvoked);
studioResourceRepository.Verify(s => s.Disconnect(It.IsAny<Guid>()), Times.Never());
}