public void TestProjectItemWithLicenseHeaderFile() { string licenseHeaderFileName = "test.licenseheader"; Solution solution = MockRepository.GenerateMock <Solution>(); ProjectItem linkedFile = MockRepository.GenerateMock <ProjectItem>(); ProjectItem licenseHeaderFile = MockRepository.GenerateStub <ProjectItem>(); licenseHeaderFile.Expect(x => x.FileCount).Return(1); licenseHeaderFile.Expect(x => x.FileNames[0]).Return(licenseHeaderFileName); using (var writer = new StreamWriter(licenseHeaderFileName)) { writer.WriteLine("extension: .cs"); writer.WriteLine("//test"); } ProjectItems projectItems = MockRepository.GenerateStub <ProjectItems>(); projectItems.Stub(x => x.GetEnumerator()) .Return(null) .WhenCalled( x => x.ReturnValue = new List <ProjectItem> { licenseHeaderFile }.GetEnumerator() ); linkedFile.Expect(x => x.ProjectItems).Return(projectItems); linkedFile.Expect(x => x.Name).Return("linkedFile.cs"); solution.Expect(x => x.FindProjectItem("linkedFile.cs")).Return(linkedFile); LinkedFileFilter linkedFileFilter = new LinkedFileFilter(solution); linkedFileFilter.Filter(new List <ProjectItem> { linkedFile }); Assert.IsNotEmpty(linkedFileFilter.ToBeProgressed); Assert.IsEmpty(linkedFileFilter.NoLicenseHeaderFile); Assert.IsEmpty(linkedFileFilter.NotInSolution); //Cleanup File.Delete(licenseHeaderFileName); }