public void MainViewmodel_UnitTest_DeleteUnassignedResource_ResourceRepositoryDeleteResourceCalled()
{
//Isolate delete unassigned resource as a functional unit
CreateFullExportsAndVm();
SetupForDelete();
var unassignedResource = new Mock<IContextualResourceModel>();
var repo = new Mock<IResourceRepository>();
var env = new Mock<IEnvironmentModel>();
unassignedResource.Setup(res => res.Category).Returns(string.Empty);
unassignedResource.Setup(resource => resource.Environment).Returns(env.Object);
repo.Setup(repository => repository.DeleteResource(unassignedResource.Object)).Returns(MakeMsg("<DataList>Success</DataList>")).Verifiable();
env.Setup(environment => environment.ResourceRepository).Returns(repo.Object);
var msg = new DeleteResourcesMessage(new List<IContextualResourceModel> { unassignedResource.Object }, "", false);
//Run delete command
MainViewModel.Handle(msg);
//Assert resource deleted from repository
repo.Verify(repository => repository.DeleteResource(unassignedResource.Object), Times.Once(), "Deleting an unassigned resource does not delete from resource repository");
}