Пример #1
0
        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);
        }
Пример #4
0
        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());
        }
Пример #8
0
        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());
        }