public void MainViewModel_UnitTest_Constructor_ShowStartPage()
{
//isolate unit
var eventPublisher = new Mock<IEventAggregator>();
var environmentRepository = new Mock<IEnvironmentRepository>();
var environmentModel = new Mock<IEnvironmentModel>();
environmentModel.Setup(c => c.CanStudioExecute).Returns(false);
environmentRepository.Setup(c => c.Source).Returns(environmentModel.Object);
environmentRepository.Setup(c => c.ReadSession()).Returns(new[] { Guid.NewGuid() });
environmentRepository.Setup(c => c.All()).Returns(new[] { environmentModel.Object });
var versionChecker = new Mock<IVersionChecker>();
var asyncWorker = new Mock<IAsyncWorker>();
var mvm = new Mock<MainViewModel>(eventPublisher.Object, asyncWorker.Object, environmentRepository.Object, versionChecker.Object, false, null, null, null, null, new Mock<IStudioResourceRepository>().Object, new Mock<IConnectControlSingleton>().Object, new Mock<IConnectControlViewModel>().Object);
mvm.Setup(c => c.ShowStartPage()).Verifiable();
//construct
var concreteMvm = mvm.Object;
//test result
Assert.IsNotNull(concreteMvm);
mvm.Verify(c => c.ShowStartPage(), Times.Once());
}