示例#1
0
文件: ApiTests.cs 项目: jspenc72/Lean
        public void Update_ProjectFiles_Successfully()
        {
            var unrealFiles = new List <ProjectFile>
            {
                new ProjectFile
                {
                    Name = "Hello.cs",
                    Code = HttpUtility.HtmlEncode("Hello, world!")
                }
            };

            var realFiles = new List <ProjectFile>
            {
                new ProjectFile
                {
                    Name = "main.cs",
                    Code = HttpUtility.HtmlEncode(File.ReadAllText("../../../Algorithm.CSharp/BasicTemplateAlgorithm.cs"))
                }
            };

            // Create a new project and make sure there are no files
            var project = _api.CreateProject("Test project - " + DateTime.Now, Language.CSharp);

            Assert.IsTrue(project.Success);
            Assert.IsTrue(project.ProjectId > 0);
            Assert.IsTrue(project.Files.Count == 0);

            // Insert random file
            var randomeUpdate = _api.UpdateProject(project.ProjectId, unrealFiles);

            Assert.IsTrue(randomeUpdate.Success);
            Assert.IsTrue(randomeUpdate.Files.First().Code == "Hello, world!");
            Assert.IsTrue(randomeUpdate.Files.First().Name == "Hello.cs");
            Assert.IsTrue(randomeUpdate.Files.Count == 1);

            // Replace with real files
            var updateProject = _api.UpdateProject(project.ProjectId, realFiles);

            Assert.IsTrue(updateProject.Success);
            Assert.IsTrue(updateProject.Files.First().Name == "main.cs");
            Assert.IsTrue(updateProject.Files.Count == 1);

            // Delete the project
            var deleteProject = _api.DeleteProject(project.ProjectId);

            Assert.IsTrue(deleteProject.Success);
        }