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