public void LoadScriptFromFile_PersistenceServiceThrows_ThrowsIOException() { // Arrange var testInputPath = "C:\\TestPath.filter"; var mockPersistenceService = new Mock<IItemFilterPersistenceService>(); mockPersistenceService.Setup(p => p.LoadItemFilterScript(testInputPath)).Throws<IOException>(); var mockItemFilterScriptViewModelFactory = new Mock<IItemFilterScriptViewModelFactory>(); var repository = new ItemFilterScriptRepository(mockPersistenceService.Object, mockItemFilterScriptViewModelFactory.Object); // Act // Assert Assert.Throws<IOException>(() => repository.LoadScriptFromFile(testInputPath)); }
public void LoadScriptFromFile_CallsPersistenceServiceUsingPathAndReturnsViewModel() { // Arrange var testInputPath = "C:\\TestPath.filter"; var mockPersistenceService = new Mock<IItemFilterPersistenceService>(); mockPersistenceService.Setup(p => p.LoadItemFilterScript(testInputPath)).Verifiable(); var mockItemFilterScriptViewModel = new Mock<IItemFilterScriptViewModel>(); var mockItemFilterScriptViewModelFactory = new Mock<IItemFilterScriptViewModelFactory>(); mockItemFilterScriptViewModelFactory.Setup(f => f.Create()).Returns(mockItemFilterScriptViewModel.Object); var repository = new ItemFilterScriptRepository(mockPersistenceService.Object, mockItemFilterScriptViewModelFactory.Object); // Act var result = repository.LoadScriptFromFile(testInputPath); // Assert mockPersistenceService.Verify(); Assert.AreEqual(mockItemFilterScriptViewModel.Object, result); }