示例#1
0
        public void CreatePartialClasses_ShouldReturnCorrectCodeWithOnePartial()
        {
            // Arrange
            var curentPath        = System.AppDomain.CurrentDomain.BaseDirectory;
            var methodName        = "TestMethod";
            var generatedCodeInfo = new GeneratedCodeInfo()
            {
                ClassName                 = "ArasCLS" + methodName,
                IsUseVSFormatting         = false,
                Namespace                 = "ArasPKG" + methodName,
                MethodName                = methodName,
                MethodCodeParentClassName = "ItemMethod",
                MethodCodeInfo            = new CodeInfo
                {
                    Code = File.ReadAllText(Path.Combine(curentPath, "Code\\TestData\\CreatePartialClasses\\MethodCodeInfo.txt"))
                },
            };

            //Act
            var expected = codeProvider.CreatePartialClasses(generatedCodeInfo);

            //Assert
            Assert.AreEqual(expected.IsUseVSFormatting, generatedCodeInfo.IsUseVSFormatting);
            Assert.AreEqual(expected.MethodCodeParentClassName, generatedCodeInfo.MethodCodeParentClassName);
            Assert.AreEqual(expected.ClassName, generatedCodeInfo.ClassName);
            Assert.AreEqual(expected.Namespace, generatedCodeInfo.Namespace);
            Assert.AreEqual(expected.MethodName, generatedCodeInfo.MethodName);
            Assert.AreEqual(expected.MethodCodeInfo.Code, File.ReadAllText(Path.Combine(curentPath, "Code\\TestData\\CreatePartialClasses\\ExpectedMainPart.txt")));
            Assert.AreEqual(expected.PartialCodeInfoList.Count, 1);
            Assert.AreEqual(expected.PartialCodeInfoList.First().Code, File.ReadAllText(Path.Combine(curentPath, "Code\\TestData\\CreatePartialClasses\\ExpectedPartialPart.txt")));
            Assert.AreEqual(expected.PartialCodeInfoList.First().Path, "TestMethod\\TestPartial");
        }