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