public void LearningTest()
		{
			MathTextBitmap bitmap = 
				new MathTextBitmap(new FloatBitmap(5,5), new Gdk.Point(0,0));
			
			bitmap.ProcessImage(new List<BitmapProcesses.BitmapProcess>());
			
			CharacteristicTreeDatabase database = 
				new CharacteristicTreeDatabase();
			
			MathSymbol aSymbol = new MathSymbol("a");
			MathSymbol bSymbol = new MathSymbol("b");
			
			database.Learn(bitmap, aSymbol);
			
			List<MathSymbol> symbols = database.Match(bitmap);
			
			bool a1Learned = symbols.Count == 1 
				&& symbols[0] == aSymbol;
			
			bool a2Learned = true;
							
			a2Learned =	database.Learn(bitmap, aSymbol);
			
			
			database.Learn(bitmap, bSymbol);
			symbols = database.Match(bitmap);
			
			bool b1Learned = symbols.Count == 2;
			
			Assert.IsTrue(a1Learned, "Fallo el aprender la primera a");
			Assert.IsFalse(a2Learned, "No se detecto el conflicto de la segunda a");
			Assert.IsTrue(b1Learned, "Fallo el aprender la b");
		}
		public void RepeatedSymbolNotAdded()
		{
			CharacteristicTreeDatabase database = new CharacteristicTreeDatabase();
			
			database.RootNode = new CharacteristicNode();
			
			
			database.RootNode.AddSymbol(new MathSymbol("hola"));
			
			int count1 = database.RootNode.Symbols.Count;			
			
			bool learnt = database.RootNode.AddSymbol(new MathSymbol("hola"));
			
			int count2 = database.RootNode.Symbols.Count;
			
			Assert.AreEqual(count1,count2,"Simbolo añadido");
			Assert.IsFalse(learnt,"Simbolo aprendido");
		}