public void GetConfigFilePath_ConfigFileNotFound_ShouldThrowFileNotFoundException() { //arrange Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>(); Mock <DTE> dteMock = new Mock <DTE>(); Mock <Solution> solutionMock = new Mock <Solution>(); Mock <ProjectItem> projectProjectItemMock = new Mock <ProjectItem>(); Mock <Project> projectMock = new Mock <Project>(); Mock <ProjectItems> projectItemsMock = new Mock <ProjectItems>(); Mock <ProjectItem> configFileProjectItemMock = new Mock <ProjectItem>(); string configFileName = "wrongFileName"; string configFilePath = "testConfigFilePath"; string templateFile = "testTemplateFilePath"; serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(It.IsAny <Type>())) .Returns(dteMock.Object); dteMock.SetupGet(dte => dte.Solution).Returns(solutionMock.Object); solutionMock.Setup(solution => solution.FindProjectItem(templateFile)).Returns(projectProjectItemMock.Object); projectProjectItemMock.SetupGet(projectItem => projectItem.ContainingProject).Returns(projectMock.Object); projectMock.SetupGet(project => project.ProjectItems).Returns(projectItemsMock.Object); projectItemsMock.Setup(projectItems => projectItems.GetEnumerator()) .Returns(new ProjectItem[] { configFileProjectItemMock.Object }.GetEnumerator()); configFileProjectItemMock.SetupGet(configFileProjectItem => configFileProjectItem.Name).Returns(configFileName); configFileProjectItemMock.Setup(configFileProjectItem => configFileProjectItem.get_FileNames(0)) .Returns(configFilePath); //act Action act = () => ConfigFinder.GetConfigFilePath(serviceProviderMock.Object, templateFile); //assert act.Should().ThrowExactly <FileNotFoundException>(); }
public void GetConfigFilePath_ShouldReturnConfigFile() { //arrange Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>(); Mock <DTE> dteMock = new Mock <DTE>(); Mock <Solution> solutionMock = new Mock <Solution>(); Mock <ProjectItem> projectProjectItemMock = new Mock <ProjectItem>(); Mock <Project> projectMock = new Mock <Project>(); Mock <ProjectItems> projectItemsMock = new Mock <ProjectItems>(); Mock <ProjectItem> configFileProjectItemMock = new Mock <ProjectItem>(); string configFileName = "app.config"; string configFilePath = "testConfigFilePath"; string templateFile = "testTemplateFilePath"; serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(It.IsAny <Type>())) .Returns(dteMock.Object); dteMock.SetupGet(dte => dte.Solution).Returns(solutionMock.Object); solutionMock.Setup(solution => solution.FindProjectItem(templateFile)).Returns(projectProjectItemMock.Object); projectProjectItemMock.SetupGet(projectItem => projectItem.ContainingProject).Returns(projectMock.Object); projectMock.SetupGet(project => project.ProjectItems).Returns(projectItemsMock.Object); projectItemsMock.Setup(projectItems => projectItems.GetEnumerator()) .Returns(new ProjectItem[] { configFileProjectItemMock.Object }.GetEnumerator()); configFileProjectItemMock.SetupGet(configFileProjectItem => configFileProjectItem.Name).Returns(configFileName); configFileProjectItemMock.Setup(configFileProjectItem => configFileProjectItem.get_FileNames(0)) .Returns(configFilePath); //act string configFileResult = ConfigFinder.GetConfigFilePath(serviceProviderMock.Object, templateFile); //assert configFileResult.Should().NotBeNull(); configFileResult.Should().Be(configFilePath); }
public void GetConfigFilePath_ServiceProviderIsNull_ShouldThrowArgumentNullException() { //arrange string templateFile = "testTemplateFile"; //act Action act = () => ConfigFinder.GetConfigFilePath(null, templateFile); //assert act.Should().ThrowExactly <ArgumentNullException>(); }
public void GetConfigFilePath_TemplateFileIsNull_ShouldThrowArgumentException() { //arrange Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>(); string templateFile = null; //act Action act = () => ConfigFinder.GetConfigFilePath(serviceProviderMock.Object, templateFile); //assert act.Should().ThrowExactly <ArgumentException>(); }