public void PrimitiveAsk(){
			var A = new FuncContractA ();
			var B = new FuncContractB ();
            Tools.ConnectContractsDirectly(A, B);

			var twiceI = A.Twice (i);
			if (twiceI != i * 2)
				throw new Exception ("Primitive ask failed");

			var toiletCopy = A.Copy (tt.First());
			if(!toiletCopy.IsEqual(tt.First()))
				throw new Exception ("Primitive ask failed");
		}
		public void ComplexAsk(){
			var A = new FuncContractA ();
			var B = new FuncContractB ();
            Tools.ConnectContractsDirectly(A, B);

			var dArr1 = Enumerable.Range (0, 100).Select(ii=>Convert.ToDouble(ii)).ToArray ();
			var dArr2 = Enumerable.Range (100, 200).Select(ii=>Convert.ToDouble(ii)).ToArray ();

			var summ = dArr1.Sum () + dArr2.Sum ();
			var res = A.SummOf2Arrays (dArr1, dArr2);
			if(summ!=res)
				throw new Exception ("Complex ask failed");

			var conc = A.ToArray (strArr [0], strArr [1], strArr[2]);

			if(!strArr.SequenceEqual(conc))
				throw new Exception ("Primitive ask failed");
				
			var strArr1 = dArr1.Select(a=>a.ToString()).ToArray ();
			var strArr2 = dArr2.Select(a=>a.ToString()).ToArray ();

			var sconc = string.Concat (strArr1.Concat (strArr2).ToArray ());

			if(A.Concat2Arrays(strArr1,strArr2).CompareTo(sconc)!=0)
				throw new Exception ("Primitive ask failed");
		
		}