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"); }