public void IsCorrectUpdateInsertGenerationInPokoAdapter(string table, string expected)
        {
            Assert.Ignore("Ничего на самом деле не сделано");

            var model = PersistentModel.Compile(table);
            var code  = new PokoAdapterWriter(model["a"])
            {
                WithHeader = false
            }.ToString();

            Console.WriteLine(code);
            Assert.AreEqual(expected.Trim(), code.Trim());
        }
        public void TableWithNoSqlAndNocodes()
        {
            var model = PersistentModel.Compile(@"
class a prototype=dbtable
	string x
	string y nosql
	string z nocode
");
            var code  = new PokoAdapterWriter(model["a"])
            {
                WithHeader = false, ProcessGetFields = false
            }.ToString();

            Console.WriteLine(code.Replace("\"", "\"\""));
            Assert.AreEqual(@"
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
#if !NOQORPENT
using Qorpent.Data;
#endif
namespace .Adapters {
	///<summary>
	/// Data Adapter for a
	///</summary>
#if !NOQORPENT
	public partial class aDataAdapter : ObjectDataAdapterBase<a> {
#else
	public partial class aDataAdapter {
#endif
		///<summary>Implementation of GetTableName</summary>
#if NOQORPENT
		public string GetTableName(object options = null) {
#else
		public override string GetTableName(object options = null) {
#endif
			return ""\""dbo\"".\""a\"""";
		}
		///<summary>Implementation of PrepareSelectQuery</summary>
#if NOQORPENT
		public string PrepareSelectQuery(object conditions = null, object hints = null) {
#else
		public override string PrepareSelectQuery(object conditions = null, object hints = null) {
#endif
			var sb = new StringBuilder();
			sb.Append(""select \""id\"", \""x\"" from \""dbo\"".\""a\"" "");
			var where = conditions as string;
			if ( null != where ) {
				sb.Append("" where "");
				sb.Append(where);
			}
			return sb.ToString();
		}
#if NOQORPENT
		///<summary>Implementation of ProcessRecord</summary>
		public a ProcessRecord(IDataReader reader, bool nativeorder = false) {
			return ProcessRecordNative(reader,nativeorder) as a;
		}
#endif
		///<summary>Implementation of ProcessRecordNative</summary>
#if NOQORPENT
		public object ProcessRecordNative(IDataReader reader, bool nativeorder = false) {
#else
		public override object ProcessRecordNative(IDataReader reader, bool nativeorder = false) {
#endif
			var result = new a();
			if ( nativeorder ) {
				result.Id = reader.GetInt32(0);
				result.x = reader.GetString(1);
			}else{
				for(var i=0;i<reader.FieldCount;i++){
					var name = reader.GetName(i).ToLowerInvariant();
					var value = reader.GetValue(i);
					if(value is DBNull)continue;
					switch(name){
						case ""id"": result.Id = Convert.ToInt32(value);break;
						case ""x"": result.x = Convert.ToString(value);break;
					}
				}
			}
			return result;
		}
#if NOQORPENT
		///<summary>Implementation of ProcessRecordSet</summary>
		public IEnumerable<a> ProcessRecordSet(IDataReader reader, bool nativeorder = false) {
			return ProcessRecordNative(reader,nativeorder).OfType<a>().ToArray();
		}
		///<summary>Implementation of ProcessRecordSetNative</summary>
		public IEnumerable<object> ProcessRecordSetNative(IDataReader reader, bool nativeorder = false) {
			while(reader.Read()){
				yield return ProcessRecordNative(reader,nativeorder);
			}
		}
#endif
	}
}
".Trim(), code.Trim());
        }
		public void TableWithNoSqlAndNocodes()
		{
			var model = PersistentModel.Compile(@"
class a prototype=dbtable
	string x
	string y nosql
	string z nocode
");
			var code = new PokoAdapterWriter(model["a"]) { WithHeader = false, ProcessGetFields = false}.ToString();
			Console.WriteLine(code.Replace("\"", "\"\""));
			Assert.AreEqual(@"
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
#if !NOQORPENT
using Qorpent.Data;
#endif
namespace .Adapters {
	///<summary>
	/// Data Adapter for a
	///</summary>
#if !NOQORPENT
	public partial class aDataAdapter : ObjectDataAdapterBase<a> {
#else
	public partial class aDataAdapter {
#endif
		///<summary>Implementation of GetTableName</summary>
#if NOQORPENT
		public string GetTableName(object options = null) {
#else
		public override string GetTableName(object options = null) {
#endif
			return ""\""dbo\"".\""a\"""";
		}
		///<summary>Implementation of PrepareSelectQuery</summary>
#if NOQORPENT
		public string PrepareSelectQuery(object conditions = null, object hints = null) {
#else
		public override string PrepareSelectQuery(object conditions = null, object hints = null) {
#endif
			var sb = new StringBuilder();
			sb.Append(""select \""id\"", \""x\"" from \""dbo\"".\""a\"" "");
			var where = conditions as string;
			if ( null != where ) {
				sb.Append("" where "");
				sb.Append(where);
			}
			return sb.ToString();
		}
#if NOQORPENT
		///<summary>Implementation of ProcessRecord</summary>
		public a ProcessRecord(IDataReader reader, bool nativeorder = false) {
			return ProcessRecordNative(reader,nativeorder) as a;
		}
#endif
		///<summary>Implementation of ProcessRecordNative</summary>
#if NOQORPENT
		public object ProcessRecordNative(IDataReader reader, bool nativeorder = false) {
#else
		public override object ProcessRecordNative(IDataReader reader, bool nativeorder = false) {
#endif
			var result = new a();
			if ( nativeorder ) {
				result.Id = reader.GetInt32(0);
				result.x = reader.GetString(1);
			}else{
				for(var i=0;i<reader.FieldCount;i++){
					var name = reader.GetName(i).ToLowerInvariant();
					var value = reader.GetValue(i);
					if(value is DBNull)continue;
					switch(name){
						case ""id"": result.Id = Convert.ToInt32(value);break;
						case ""x"": result.x = Convert.ToString(value);break;
					}
				}
			}
			return result;
		}
#if NOQORPENT
		///<summary>Implementation of ProcessRecordSet</summary>
		public IEnumerable<a> ProcessRecordSet(IDataReader reader, bool nativeorder = false) {
			return ProcessRecordNative(reader,nativeorder).OfType<a>().ToArray();
		}
		///<summary>Implementation of ProcessRecordSetNative</summary>
		public IEnumerable<object> ProcessRecordSetNative(IDataReader reader, bool nativeorder = false) {
			while(reader.Read()){
				yield return ProcessRecordNative(reader,nativeorder);
			}
		}
#endif
	}
}
".Trim(), code.Trim());
		}
		public void IsCorrectUpdateInsertGenerationInPokoAdapter(string table, string expected) {
			Assert.Ignore("Ничего на самом деле не сделано");
			
			var model = PersistentModel.Compile(table);
			var code = new PokoAdapterWriter(model["a"]) {WithHeader = false}.ToString();
			Console.WriteLine(code);
			Assert.AreEqual(expected.Trim(), code.Trim());
		}