Exemplo n.º 1
0
        public void CreateMainNew_ShouldReturnCorrectCodeInfo()
        {
            //Arrange
            var curentPath = System.AppDomain.CurrentDomain.BaseDirectory;

            projectManager.DefaultCodeTemplatesPath.Returns(Path.Combine(curentPath, "TestData"));
            var templateLoader = new TemplateLoader();

            templateLoader.Load(Path.Combine(curentPath, "TestData\\method-config.xml"));
            var template          = templateLoader.Templates.FirstOrDefault(tmp => tmp.TemplateName == "CSharp");
            var eventData         = CommonData.EventSpecificDataTypeList.FirstOrDefault(ed => ed.EventSpecificData == EventSpecificData.None);
            var methodName        = "TestMethod";
            var generatedCodeInfo = new GeneratedCodeInfo()
            {
                ClassName                 = "ArasCLS" + methodName,
                IsUseVSFormatting         = false,
                Namespace                 = "ArasPKG" + methodName,
                MethodName                = methodName,
                MethodCodeParentClassName = "ItemMethod",
            };

            //Act
            var expected = codeProvider.CreateMainNew(generatedCodeInfo, template, eventData, methodName, false, "\r\n\r\n");

            //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\\CreateMainNew\\MethodCode.txt")));
            Assert.AreEqual(expected.MethodCodeInfo.Path, methodName + "\\" + methodName + ".cs");
        }