diff --git a/src/methods/linear_SVM/linear_SVM_test.pl b/src/methods/linear_SVM/linear_SVM_test.pl
index 3b973e57ff6987196546f9ce6ae1196d21389ea6..b61f720f36f794ba10e7ff9970107c68bf576fad 100644
--- a/src/methods/linear_SVM/linear_SVM_test.pl
+++ b/src/methods/linear_SVM/linear_SVM_test.pl
@@ -34,13 +34,14 @@ test(linear_SVM_InitModelWithTrain_Negative_Delta, fail) :-
 test(linear_SVM_InitModelWithTrain_Wrong_Optimizer_Input, [error(domain_error('The given Optimizer is unkown!' , wrongInput), _)]) :-
         linear_SVM_initModelWithTrain([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.0001, 1.0, 0, wrongInput).
 
-test(linear_SVM_InitModelWithTrain_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_InitModelWithTrain_Too_Few_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         linear_SVM_initModelWithTrain([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1], 2, 0.0001, 1.0, 0, lbfgs).
 
-test(linear_SVM_InitModelWithTrain_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_InitModelWithTrain_Too_Many_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         linear_SVM_initModelWithTrain([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1,0,1], 2, 0.0001, 1.0, 0, lbfgs).
 
-test(linear_SVM_InitModelWithTrain_Too_Many_LabelClasses, [error(_,system_error('Error'))]) :-
+%% doesnt cause error
+test(linear_SVM_InitModelWithTrain_Too_Many_LabelClasses) :-
         linear_SVM_initModelWithTrain([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,2,3], 2, 0.0001, 1.0, 0, lbfgs).
         
 
@@ -97,11 +98,11 @@ test(linear_SVM_InitModelNoTrain_Alternative) :-
 
 %% Failure Tests
                                             
-test(linear_SVM_Classify_Before_Train, [error(_,system_error('Error'))]) :-
+test(linear_SVM_Classify_Before_Train, [error(_,system_error('The Model is not trained!'))]) :-
         reset_Model_NoTrain,
         linear_SVM_classify([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, _, _, _).
 
-test(linear_SVM_Classify_Diffrent_Dims_Than_Train, [error(_,system_error('Error'))]) :-
+test(linear_SVM_Classify_Diffrent_Dims_Than_Train, [error(_,system_error('The given Datapoints Dimension is != the trained Datapoints Dimension!'))]) :-
         reset_Model_WithTrain,
         linear_SVM_classify([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, _, _, _).
         
@@ -145,11 +146,11 @@ test(linear_SVM_Classify_CSV_Input) :-
 
 %% Failure Tests
                                             
-test(linear_SVM_ClassifyPoint_Before_Train, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ClassifyPoint_Before_Train, [error(_,system_error('The Model is not trained!'))]) :-
         reset_Model_NoTrain,
         linear_SVM_classifyPoint([5.1,3.5,1.4], _).
 
-test(linear_SVM_ClassifyPoint_Diffrent_Dims_Than_Train, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ClassifyPoint_Diffrent_Dims_Than_Train, [error(_,system_error('The given Datapoint Dimension is != the trained Datapoints Dimension!'))]) :-
         reset_Model_WithTrain,
         linear_SVM_classifyPoint([5.1,3.5,1.4,4.9], _).
         
@@ -187,23 +188,24 @@ test(linear_SVM_ClassifyPoint_CSV_Input) :-
 
 %% Failure Tests
 
-test(linear_SVM_ComputeAccuracy_Before_Train, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ComputeAccuracy_Before_Train, [error(_,system_error('The Model is not trained!'))]) :-
         reset_Model_NoTrain,
         linear_SVM_computeAccuracy([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], _).
 
-test(linear_SVM_ComputeAccuracy_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ComputeAccuracy_Too_Few_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         reset_Model_WithTrain,
         linear_SVM_computeAccuracy([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1], _).
 
-test(linear_SVM_ComputeAccuracy_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ComputeAccuracy_Too_Many_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         reset_Model_WithTrain,
         linear_SVM_computeAccuracy([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1,0,1], _).
 
-test(linear_SVM_ComputeAccuracy_Too_Many_LabelClasses, [error(_,system_error('Error'))]) :-
+%% doesnt cause error
+test(linear_SVM_ComputeAccuracy_Too_Many_LabelClasses) :-
         reset_Model_WithTrain,
         linear_SVM_computeAccuracy([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,2,3], _).
 
-test(linear_SVM_ComputeAccuracy_Wrong_Data_Dims, [error(_,system_error('Error'))]) :-
+test(linear_SVM_ComputeAccuracy_Wrong_Data_Dims, [error(_,system_error('The given Datapoints Dimension is != the trained Datapoints Dimension!'))]) :-
         reset_Model_WithTrain,
         linear_SVM_computeAccuracy([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, [0,1,0], _).
         
@@ -225,7 +227,7 @@ test(linear_SVM_ComputeAccuracy_Normal_Use_PSGD) :-
 test(linear_SVM_ComputeAccuracy_CSV_Input) :-
         linear_SVM_initModelWithTrain([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, [0,1,0], 2, 0.0001, 2.0, 1, lbfgs),
         open('src/data_csv/iris2.csv', read, File),
-        take_csv_row(File, skipFirstRow,1, Data),
+        take_csv_row(File, skipFirstRow,10, Data),
         linear_SVM_computeAccuracy(Data, 4, [0,1,0,1,1,0,1,1,1,0], Accuracy),
         print('\nAccuracy: '),
         print(Accuracy).
@@ -249,15 +251,16 @@ test(linear_SVM_Train_Wrong_Optimizer_Input, [error(domain_error('The given Opti
         reset_Model_NoTrain,
         linear_SVM_train([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, wrongInput, _).
 
-test(linear_SVM_Train_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_Train_Too_Few_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         reset_Model_NoTrain,
         linear_SVM_train([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1], 2, lbfgs, _).
 
-test(linear_SVM_Train_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+test(linear_SVM_Train_Too_Many_Labels, [error(_,system_error('The number of data points does not match the number of labels!'))]) :-
         reset_Model_NoTrain,
         linear_SVM_train([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1,0,1], 2, lbfgs, _).
 
-test(linear_SVM_Train_Too_Many_LabelClasses, [error(_,system_error('Error'))]) :-
+%% doesnt cause error
+test(linear_SVM_Train_Too_Many_LabelClasses) :-
         reset_Model_NoTrain,
         linear_SVM_train([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,2,3], 2, lbfgs, _).
         
diff --git a/src/methods/lmnn/lmnn_test.pl b/src/methods/lmnn/lmnn_test.pl
index d36c0dcad2240ca2c89fd396c5612c40ba13e4cd..e3d59378f5485645b3b0b1158a4856871995b6ec 100644
--- a/src/methods/lmnn/lmnn_test.pl
+++ b/src/methods/lmnn/lmnn_test.pl
@@ -14,13 +14,13 @@
 
 %% Failure Tests
                                             
-test(lmnn_Wrong_Optimizer_Input, [error(domain_error('expectation' , wrongInput), _)]) :-
+test(lmnn_Wrong_Optimizer_Input, [error(domain_error('The given Optimizer is unkown!' , wrongInput), _)]) :-
         lmnn(wrongInput, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
 test(lmnn_Negative_K, fail) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], -2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
-test(lmnn_Too_Many_K, fail) :-
+test(lmnn_Too_Many_K, error(_, system_error('fatal error; see Log::Fatal output'))) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 10, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
 test(lmnn_Negative_Regularization, fail) :-
@@ -48,43 +48,44 @@ test(lmnn_Negative_Rank, fail) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, -1, _, _).
 
 
-test(lmnn_Negative_Too_Few_Labels, [error(_, system_error('Error'))]) :-
+test(lmnn_Negative_Too_Few_Labels, [error(_, system_error('The number of data points does not match the number of labels!'))]) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
-test(lmnn_Negative_Too_Many_Labels, [error(_, system_error('Error'))]) :-
+test(lmnn_Negative_Too_Many_Labels, [error(_, system_error('The number of data points does not match the number of labels!'))]) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
-test(lmnn_Negative_Too_Many_LabelClasses, [error(_, system_error('Error'))]) :-
+test(lmnn_Negative_Too_Many_LabelClasses, [error(_, system_error('fatal error; see Log::Fatal output'))]) :-
         lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,2,3], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, _, _).
 
         
 
 %% Successful Tests
 
+%% k need to be < than the amount of elements per label class 
 test(lmnn_Normal_Use_Amsgrad) :-
-        lmnn(amsgrad, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
+        lmnn(amsgrad, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 1, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
         print('\nDistance: '),
         print(DistanceList).
 
 test(lmnn_Normal_Use_BBSGD) :-
-        lmnn(bbsgd, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
+        lmnn(bbsgd, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 1, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
         print('\nDistance: '),
         print(DistanceList).
 
 test(lmnn_Normal_Use_SGD) :-
-        lmnn(sgd, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
+        lmnn(sgd, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 1, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
         print('\nDistance: '),
         print(DistanceList).
 
 test(lmnn_Normal_Use_LBFGS) :-
-        lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [0,1,0,1], 2, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
+        lmnn(lbfgs, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5,3.2,1.3,0.5], 3, [0,1,0,1,0], 1, 0.5, 0.01, 50, 100000, 0.000001, 0, 0, 50, 1, 0, DistanceList, _),
         print('\nDistance: '),
         print(DistanceList).
 
 test(lmnn_CSV_Input) :-
         open('src/data_csv/iris2.csv', read, File),
         take_csv_row(File, skipFirstRow, 10, Data),
-        lmnn(lbfgs, Data, 4, [0,1,0,1,1,0,1,1,1,0], 2, 0.7, 0.00021, 30, 1000, 0.00031, 1, 1, 30, 2, 2, DistanceList, _),
+        lmnn(lbfgs, Data, 4, [0,1,0,1,1,0,1,1,1,0], 3, 0.7, 0.00021, 30, 1000, 0.00031, 1, 1, 30, 2, 2, DistanceList, _),
         print('\nDistance: '),
         print(DistanceList).
 
diff --git a/src/methods/lsh/lsh.cpp b/src/methods/lsh/lsh.cpp
index 41c28ff4974e5528acda6ad20b97580b3d747484..2df83442024f3c96d580c92f795e569d6a54d24b 100644
--- a/src/methods/lsh/lsh.cpp
+++ b/src/methods/lsh/lsh.cpp
@@ -31,7 +31,7 @@ LSHSearch lshSearch;
 // description: 
 //          Initiatzes the model and trains it.
 //
-void initModel(float *referenceMatArr, SP_integer referenceMatSize, SP_integer referenceMatRowNum, 
+void initAndTrainModel(float *referenceMatArr, SP_integer referenceMatSize, SP_integer referenceMatRowNum,
                 SP_integer numProj, SP_integer numTables, double hashWidth, SP_integer secondHashSize, SP_integer bucketSize)
 {
     // convert the Prolog array to arma::mat
@@ -92,6 +92,12 @@ void searchWithQuery(float *querySetMatArr, SP_integer querySetMatSize, SP_integ
 {
     // convert the Prolog array to arma::mat
     mat querySet = convertArrayToMat(querySetMatArr, querySetMatSize, querySetMatRowNum);
+    if (querySet.n_cols < k)
+    {
+        raisePrologSystemExeption("K should not be greater than the amount of datapoints!");
+        return;
+    }
+    
 
     // create the ReturnMat
     Mat< size_t > resultingNeighborsReturnMat;
@@ -107,6 +113,9 @@ void searchWithQuery(float *querySetMatArr, SP_integer querySetMatSize, SP_integ
         raisePrologSystemExeption(e.what());
         return;
     }
+
+    // float32 cant handle values over 1.0e+38
+    distancesReturnMat.clamp(-1.0e+38, 1.0e+38);
     
 
     // return the Matrices
@@ -129,11 +138,15 @@ void searchNoQuery(SP_integer k,
                     float **distancesMatArr, SP_integer *distancesMatColNum, SP_integer *distancesMatRowNum,
                     SP_integer numTablesToSearch, SP_integer T)
 {
+    if (lshSearch.ReferenceSet().n_cols < k)
+    {
+        raisePrologSystemExeption("K should not be greater than the amount of datapoints!");
+        return;
+    }
     // create the ReturnMat
     Mat< size_t > resultingNeighborsReturnMat;
     mat distancesReturnMat;
 
-
     try
     {
         lshSearch.Search(k, resultingNeighborsReturnMat, distancesReturnMat, numTablesToSearch, T);
@@ -143,39 +156,11 @@ void searchNoQuery(SP_integer k,
         raisePrologSystemExeption(e.what());
         return;
     }
-    
+
+    // float32 cant handle values over 1.0e+38
+    distancesReturnMat.clamp(-1.0e+38, 1.0e+38);
 
     // return the Matrices
     returnMatrixInformation(resultingNeighborsReturnMat, resultingNeighborsMatArr, resultingNeighborsMatColNum, resultingNeighborsMatRowNum);
     returnMatrixInformation(distancesReturnMat, distancesMatArr, distancesMatColNum, distancesMatRowNum);
 }
-
-
-// input:   MatType 	        referenceSet,
-//          const size_t 	    numProj,
-//          const size_t 	    numTables,
-//          const double 	    hashWidth = 0.0,
-//          const size_t 	    secondHashSize = 99901,
-//          const size_t 	    bucketSize = 500,
-//          const arma::cube & 	projection = arma::cube()
-// output: 
-// description: 
-//          Train the LSH model on the given dataset.
-//
-void train(float *referencesMatArr, SP_integer referencesMatSize, SP_integer referencesMatRowNum,
-            SP_integer numProj, SP_integer numTables, double hashWidth, SP_integer secondHashSize, SP_integer bucketSize)
-{
-    // convert the Prolog arrays to arma::mat
-    mat references = convertArrayToMat(referencesMatArr, referencesMatSize, referencesMatRowNum);
-
-
-    try
-    {
-        lshSearch.Train(references, numProj, numTables, hashWidth, secondHashSize, bucketSize);
-    }
-    catch(const std::exception& e)
-    {
-        raisePrologSystemExeption(e.what());
-        return;
-    }
-}
diff --git a/src/methods/lsh/lsh_test.pl b/src/methods/lsh/lsh_test.pl
index 5d3a0cc4c08d6bcd64226d2b5ee0413c15e6401a..5336be3b0026a5b527919df8b5d953b807ada2a4 100644
--- a/src/methods/lsh/lsh_test.pl
+++ b/src/methods/lsh/lsh_test.pl
@@ -54,7 +54,7 @@ test(lsh_InitAndTrainModel_CSV_Input) :-
 
 %% Failure Tests
                                             
-test(lsh_ComputeRecall_Wrong_Dimensions, [error(_, system_error('Error'))]) :-
+test(lsh_ComputeRecall_Wrong_Dimensions, [error(_, system_error('LSHSearch::ComputeRecall(): matrices provided must have equal size'))]) :-
         reset_Model,
         lsh_computeRecall([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, _).
         
@@ -77,11 +77,11 @@ test(lsh_ComputeRecall_Normal_Use) :-
 
 %% Failure Tests
                                             
-test(lsh_SearchWithQuery_Wrong_Dimensions, [error(_, system_error('Error'))]) :-
+test(lsh_SearchWithQuery_Wrong_Dimensions, [error(_, system_error('LSHSearch::Search(): dimensionality of query set (4) is not equal to the dimensionality the model was trained on (3)!\n'))]) :-
         reset_Model,
         lsh_searchWithQuery([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, 3, _, _, _, _, 0, 0).
 
-test(lsh_SearchWithQuery_Too_High_K, [error(_, system_error('Error'))]) :-
+test(lsh_SearchWithQuery_Too_High_K, [error(_, system_error('K should not be greater than the amount of datapoints!'))]) :-
         reset_Model,
         lsh_searchWithQuery([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, 10, _, _, _, _, 0, 0).
 
@@ -119,7 +119,7 @@ test(lsh_SearchWithQuery_Normal_Use) :-
 
 %% Failure Tests
 
-test(lsh_SearchNoQuery_Too_High_K, [error(_, system_error('Error'))]) :-
+test(lsh_SearchNoQuery_Too_High_K, [error(_, system_error('K should not be greater than the amount of datapoints!'))]) :-
         reset_Model,
         lsh_searchNoQuery(10, _, _, _, _, 0, 0).
 
@@ -139,8 +139,10 @@ test(lsh_SearchNoQuery_Negative_T, fail) :-
 %% Successful Tests
 
 test(lsh_SearchNoQuery_Normal_Use) :-
-        reset_Model,
-        lsh_searchNoQuery(3, NeighborResultsList, _, DistancesList, _, 0, 0),
+        open('src/data_csv/iris2.csv', read, File),
+        take_csv_row(File, skipFirstRow,10, Data),
+        lsh_initAndTrainModel(Data, 4, 25, 15, 1.5, 99901, 200),
+        lsh_searchNoQuery(6, NeighborResultsList, _, DistancesList, _, 0, 0),
         print('\nNeighborResults: '),
         print(NeighborResultsList),
         print('\nDistances: '),
diff --git a/src/methods/mean_shift/mean_shift_test.pl b/src/methods/mean_shift/mean_shift_test.pl
index 41a6a05fa5ce9c88b58f99975e1a3fae0d936e3a..8cbea026458c7fe763b26a475b77c45f19d53cb6 100644
--- a/src/methods/mean_shift/mean_shift_test.pl
+++ b/src/methods/mean_shift/mean_shift_test.pl
@@ -18,8 +18,13 @@
 test(mean_shift_Negative_MaxIterations, fail) :-
         meanShift(1, -1000, [5.1,3.5,1.4,4.9, 3.0,1.4,4.7,3.2, 1.3,4.6,3.1,1.5, 1.4,3.0,2.1,0.1],4, _, _, _, 0, 0).
 
-test(mean_shift_Too_Few_Data_Points, fail) :-
-        meanShift(1, 1000, [5.1,3.5,1.4,4.9],4, _, _, _, 0, 0).
+%% doesnt cause an error
+test(mean_shift_Too_Few_Data_Points) :-
+        meanShift(1, 1000, [5.1,3.5,1.4,4.9],4, AssignList, CentroidsList, _, 0, 0),
+        print('\nAssignments: '),
+        print(AssignList),
+        print('\nCentroids: '),
+        print(CentroidsList).
         
 
 %% Successful Tests
diff --git a/test_all.pl b/test_all.pl
index d103071ee449100ea8698275e16607b5dbb7ae29..1623dfc7d8e18df0e946ea3f27dab2a34aedc016 100644
--- a/test_all.pl
+++ b/test_all.pl
@@ -40,17 +40,17 @@
 
 %%:- use_module('src/methods/linear_regression/linear_regression_test.pl').
 
-%%:- use_module('src/methods/linear_SVM/linear_SVM_test.pl').
+:- use_module('src/methods/linear_SVM/linear_SVM_test.pl').
 
-%%:- use_module('src/methods/lmnn/lmnn_test.pl').
+:- use_module('src/methods/lmnn/lmnn_test.pl').
 
 %%:- use_module('src/methods/local_coordinate_coding/local_coordinate_coding_test.pl').
 
 %%:- use_module('src/methods/logistic_regression/logistic_regression_test.pl').
 
-%%:- use_module('src/methods/lsh/lsh_test.pl').
+:- use_module('src/methods/lsh/lsh_test.pl').
 
-%%:- use_module('src/methods/mean_shift/mean_shift_test.pl').
+:- use_module('src/methods/mean_shift/mean_shift_test.pl').
 
 %%:- use_module('src/methods/naive_bayes_classifier/naive_bayes_classifier_test.pl').