public static void BuildAssertMethods(string findalbumSeachcherbelieve, string lastfmintegrationFindalbumBelieveCher, string func, Func<object> functionCall) { object result = functionCall(); string type = result.GetType().Name; string resultVar = string.Format(@"_{0}{1}", findalbumSeachcherbelieve, lastfmintegrationFindalbumBelieveCher); string resultMethod = string.Format(@"{0}{1}Setup", findalbumSeachcherbelieve, lastfmintegrationFindalbumBelieveCher); Action<string> output = (o => Console.Out.WriteLine(o)); output(string.Format(@"private {0} {1} = null;", type, resultVar)); output( string.Format( "private {0} {3}() {{ \r\n if ({1} == null) {{ \r\n {1} = {2}; \r\n }} return {1}; \r\n }}\r\n", type, resultVar, func, resultMethod)); string methodCall = "" + resultMethod + "();\r\n"; string testMethodName = string.Format(@"{0}_{1}_", findalbumSeachcherbelieve, lastfmintegrationFindalbumBelieveCher); var builder = new Builder(2, 3, (n, o) => output( string.Format( "[Test,Category(\"Integration\")]\r\npublic void {2}() {{ var value = {1} {0};\r\n }} ", o, methodCall, testMethodName + Regex.Replace(n, @"[\[\]\.]", "")))); builder.BuildAssert("value", result, 0); }
public static void BuildAssert(string name, object asset) { var builder = new Builder(2, 3, o => Console.Out.WriteLine(o)); builder.BuildAssert(name, asset, 0); }