public void MainViewModel_CloseWorkSurfaceContext_UnsavedWorkflowAndResourceCanSaveIsFalse_ResourceModelIsNotSaved()
{
//------------Setup for test--------------------------
CreateFullExportsAndVm();
Assert.IsTrue(MainViewModel.Items.Count == 2);
FirstResource.Setup(r => r.Commit()).Verifiable();
FirstResource.Setup(r => r.Rollback()).Verifiable();
FirstResource.Setup(r => r.IsWorkflowSaved).Returns(false);
FirstResource.Setup(r => r.IsAuthorized(AuthorizationContext.Contribute)).Returns(false);
EventAggregator.Setup(e => e.Publish(It.IsAny<SaveResourceMessage>())).Verifiable();
PopupController.Setup(s => s.Show()).Returns(MessageBoxResult.Yes);
var activetx = MainViewModel.Items.ToList().First(i => i.WorkSurfaceViewModel.WorkSurfaceContext == WorkSurfaceContext.Workflow);
//------------Execute Test---------------------------
MainViewModel.CloseWorkSurfaceContext(activetx, null);
PrivateObject pvt = new PrivateObject(MainViewModel);
//------------Assert Results-------------------------
EventAggregator.Verify(e => e.Publish(It.IsAny<SaveResourceMessage>()), Times.Never());
FirstResource.Verify(r => r.Commit(), Times.Never(), "ResourceModel was committed when saved.");
FirstResource.Verify(r => r.Rollback(), Times.Never(), "ResourceModel was rolled back when saved.");
Assert.IsNull(pvt.GetField("_previousActive"));
}