public void ShouldNotAddNonCSharpFile() { var project = new FakeProject(fileName: @"c:\test\code\fake.csproj"); var expectedXml = XDocument.Parse(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/></ItemGroup></Project>"); project.XmlRepresentation = XDocument.Parse(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/></ItemGroup></Project>"); project.AddFile("some content", @"c:\test\code\foo.txt"); var solution = new FakeSolution(@"c:\test\fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"c:\test\code\foo.txt" }; var handler = new AddToProjectHandler(solution, new FakeWindowsFileSystem()); handler.AddToProject(request); project.AsXml().ToString().ShouldEqual(expectedXml.ToString()); }
public void ShouldThrowProjectNotFoundExceptionWhenProjectNotFound() { var project = GetProject("<xml/>"); var solution = new FakeSolution(@"/test/fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"/test/folder/Test.cs" }; var handler = new AddToProjectHandler(solution, new FakeUnixFileSystem()); handler.AddToProject(request); }
public void ShouldThrowProjectNotFoundExceptionForOrphanProject() { var solution = new FakeSolution(@"/test/fake.sln"); var project = new OrphanProject(new FileSystem(), new Logger(Verbosity.Quiet)); project.Files.Add(new CSharpFile(project, "/test/folder/Test.cs", "Some content...")); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"/test/folder/Test.cs" }; var handler = new AddToProjectHandler(solution, new FakeUnixFileSystem()); handler.AddToProject(request); }
public void ShouldThrowProjectNotFoundExceptionWhenProjectNotFound() { var project = new FakeProject(fileName: @"/test/code/fake.csproj"); var solution = new FakeSolution(@"/test/fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"/test/folder/Test.cs" }; var handler = new AddToProjectHandler(solution); handler.AddToProject(request); }
public void ShouldNotAddFileToProjectWhenAlreadyExists() { var project = GetProject(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/><Compile Include=""Test.cs""/></ItemGroup></Project>"); var expectedXml = project.AsXml(); var solution = new FakeSolution(@"c:\test\fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"c:\test\code\test.cs" }; var handler = new AddToProjectHandler(solution, new FakeWindowsFileSystem()); handler.AddToProject(request); project.AsXml().ToString().ShouldEqual(expectedXml.ToString()); }
public void ShouldAlwaysUseWindowsFileSeparatorWhenAddingToProject() { if (PlatformService.IsUnix) { var project = GetProject(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/></ItemGroup></Project>" , @"/test/code/fake.csproj"); var expectedXml = XDocument.Parse(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/><Compile Include=""folder\Test.cs""/></ItemGroup></Project>"); project.Files.Add(new CSharpFile(project, @"/test/code/folder/Test.cs", "some c# code")); var solution = new FakeSolution(@"/test/fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"/test/code/folder/Test.cs" }; var handler = new AddToProjectHandler(solution, new FakeUnixFileSystem()); handler.AddToProject(request); project.AsXml().ToString().ShouldEqual(expectedXml.ToString()); } }
public void ShouldAddNewFileToProject() { var project = GetProject(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/></ItemGroup></Project>"); project.Files.Add(new CSharpFile(project, @"c:\test\code\files\Test.cs", "some c# code")); var solution = new FakeSolution(@"c:\test\fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"c:\test\code\files\Test.cs" }; var handler = new AddToProjectHandler(solution, new FakeWindowsFileSystem()); handler.AddToProject(request); var expectedXml = XDocument.Parse( @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/><Compile Include=""files\Test.cs""/></ItemGroup></Project>"); project.AsXml().ToString().ShouldEqual(expectedXml.ToString()); }
public void ShouldAlwaysUseWindowsFileSeparatorWhenAddingToProject() { var project = new FakeProject(fileName: @"/test/code/fake.csproj"); project.XmlRepresentation = XDocument.Parse(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/></ItemGroup></Project>"); var expectedXml = XDocument.Parse(@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""><ItemGroup><Compile Include=""Hello.cs""/><Compile Include=""folder\Test.cs""/></ItemGroup></Project>"); project.AddFile("some content", @"/test/code/folder/Test.cs"); var solution = new FakeSolution(@"/test/fake.sln"); solution.Projects.Add(project); var request = new AddToProjectRequest { FileName = @"/test/code/folder/Test.cs" }; var handler = new AddToProjectHandler(solution); handler.AddToProject(request); project.AsXml().ToString().ShouldEqual(expectedXml.ToString()); }