diff --git a/src/methods/lars/lars.pl b/src/methods/lars/lars.pl
index d6ac26d39eae801a7cdd46b3fc6d29b3945117c0..6f647dddc495013019980aba35421c4258788c3f 100644
--- a/src/methods/lars/lars.pl
+++ b/src/methods/lars/lars.pl
@@ -39,6 +39,7 @@
 %%              Only initialize the LARS model.
 %%
 lars_initModelNoDataNoGram(UseCholesky, Lambda1, Lambda2, Tolerance) :-
+        Tolerance > 0, 
         initModelNoDataNoGramI(UseCholesky, Lambda1, Lambda2, Tolerance).
 
 foreign(initModelNoDataNoGram, c, initModelNoDataNoGramI(+integer, 
@@ -59,6 +60,7 @@ foreign(initModelNoDataNoGram, c, initModelNoDataNoGramI(+integer,
 %%              Initialize LARS model, and pass in a precalculated Gram matrix but dont train the model.
 %%
 lars_initModelNoDataWithGram(UseCholesky, GramList, GramRows, Lambda1, Lambda2, Tolerance) :-
+        Tolerance > 0, 
         convert_list_to_float_array(GramList, GramRows, array(Zsize, Zrownum, Z)),
         initModelNoDataWithGramI(UseCholesky, Z, Zsize, Zrownum, Lambda1, Lambda2, Tolerance).
 
@@ -82,6 +84,7 @@ foreign(initModelNoDataWithGram, c, initModelNoDataWithGramI(    +integer,
 %%              Initialize LARS model, and train the model.
 %%
 lars_initModelWithDataNoGram(DataList, DataRows, ResponsesList, TransposeData, UseCholesky, Lambda1, Lambda2, Tolerance) :-
+        Tolerance > 0, 
         convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
         convert_list_to_float_array(ResponsesList, array(Ysize, Y)),
         initModelWithDataNoGramI(X, Xsize, Xrownum, Y, Ysize, TransposeData, UseCholesky, Lambda1, Lambda2, Tolerance).
@@ -110,6 +113,7 @@ foreign(initModelWithDataNoGram, c, initModelWithDataNoGramI(   +pointer(float_a
 %%              Initialize LARS model, pass in a precalculated Gram matrix and train the model.
 %%
 lars_initModelWithDataWithGram(DataList, DataRows, ResponsesList, TransposeData, UseCholesky, GramList, GramRows, Lambda1, Lambda2, Tolerance) :-
+        Tolerance > 0, 
         convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
         convert_list_to_float_array(ResponsesList, array(Ysize, Y)),
         convert_list_to_float_array(GramList, GramRows, array(Zsize, Zrownum, Z)),
diff --git a/src/methods/lars/lars_test.pl b/src/methods/lars/lars_test.pl
index 67e2cb15dc3c71fd90e1e22b6522d674e6b9c052..4d401ef4b0130085b48e923bb129f068b156e510 100644
--- a/src/methods/lars/lars_test.pl
+++ b/src/methods/lars/lars_test.pl
@@ -8,77 +8,406 @@
 :- use_module(lars).
 :- use_module('../../helper_files/helper.pl').
 
-reset_Model :-
-        lars_initModelNoDataNoGram(1, 0.1, 0.3, 0.001),
-        convert_list_to_float_array([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, array(Xsize, Xrownum, X)),
-        convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
-        lars_trainNoBetaReturn(X,Xsize, Xrownum,Y, Ysize, 1, _).
+reset_Model_NoTrain :-
+        lars_initModelNoDataNoGram(0, 0.0, 0.0, 1.0e-16).
 
-:- begin_tests(lists).
+reset_Model_WithTrain :-
+        lars_initModelWithDataNoGram([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, 0, 0.0, 0.0, 1.0e-16).
 
 
-%% train tests
-test(train, [true(A =:= 0)]) :-
-        reset_Model,
-        convert_list_to_float_array([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, array(Xsize, Xrownum, X)),
-        convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
-        lars_trainNoBetaReturn(X,Xsize, Xrownum,Y, Ysize, 1, A),
-        lars_predict(X, Xsize,Xrownum, Predic, PredicSize,0),
-        convert_float_array_to_list(Predic, PredicSize, Result),
-        print(Result).
 
-test(activeSet) :-
-        reset_Model,
-        lars_activeSet(ActSet, ActSetSize),
-        convert_float_array_to_list(ActSet, ActSetSize, Result),
-        print(Result).
+%%
+%% TESTING predicate lars_initModelNoDataNoGram/4
+%%
+:- begin_tests(lars_initModelNoDataNoGram).      
+
+%% Failure Tests
+                                            
+test(lars_InitModelNoDataNoGram_Negative_Tolerance, fail) :-
+        lars_initModelNoDataNoGram(0, 0.0, 0.0, -1.0e-16).
+        
+
+%% Successful Tests
+
+test(lars_InitModelNoDataNoGram_Normal_Use) :-
+        lars_initModelNoDataNoGram(0, 0.0, 0.0, 1.0e-16).
+
+test(lars_InitModelNoDataNoGram_Alternative_Use) :-
+        lars_initModelNoDataNoGram(1, -1.0, 1.0, 1.0e-16).
+
+:- end_tests(lars_initModelNoDataNoGram).
+
+
+
+%%
+%% TESTING predicate lars_initModelNoDataWithGram/6
+%%
+:- begin_tests(lars_initModelNoDataWithGram).      
+
+%% Failure Tests
+                                            
+test(lars_InitModelNoDataWithGram_Negative_Tolerance, fail) :-
+        lars_initModelNoDataWithGram(0, [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.0, 0.0, -1.0e-16).
+        
+
+%% Successful Tests
+
+test(lars_InitModelNoDataWithGram_Normal_Use) :-
+        lars_initModelNoDataWithGram(0, [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.0, 0.0, 1.0e-16).
+
+test(lars_InitModelNoDataWithGram_Alternative_Use) :-
+        lars_initModelNoDataWithGram(1, [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, -1.0, 1.0, 1.0e-16).
+
+:- end_tests(lars_initModelNoDataWithGram).
+
+
+
+%%
+%% TESTING predicate lars_initModelWithDataNoGram/8
+%%
+:- begin_tests(lars_initModelWithDataNoGram).      
+
+%% Failure Tests
+                                            
+test(lars_InitModelWithDataNoGram_Negative_Tolerance, fail) :-
+        lars_initModelWithDataNoGram([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, 0, 0.0, 0.0, -1.0e-16).
+
+
+test(lars_InitModelWithDataNoGram_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataNoGram([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, 0, 0.0, 0.0, -1.0e-16).
+
+test(lars_InitModelWithDataNoGram_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataNoGram([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], 0, 0, 0.0, 0.0, -1.0e-16).
+
+test(lars_InitModelWithDataNoGram_Too_Many_Labelclasses, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataNoGram([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], 0, 0, 0.0, 0.0, -1.0e-16).
+
+
+%% Successful Tests
+
+test(lars_InitModelWithDataNoGram_Normal_Use) :-
+        lars_initModelWithDataNoGram([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, 0, 0.0, 0.0, 1.0e-16).
+
+test(lars_InitModelWithDataNoGram_Alternative_Use) :-
+        lars_initModelWithDataNoGram([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, 1, 1.0, -1.0, 1.0e-16).
+
+:- end_tests(lars_initModelWithDataNoGram).
+
+
+
+%%
+%% TESTING predicate lars_initModelWithDataWithGram/10
+%%
+:- begin_tests(lars_initModelWithDataWithGram).      
+
+%% Failure Tests
+                                            
+test(lars_InitModelWithDataWithGram_Negative_Tolerance, fail) :-
+        lars_initModelWithDataWithGram([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, 0, [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.0, 0.0, -1.0e-16).
+
+
+test(lars_InitModelWithDataWithGram_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataWithGram([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, 0, [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.0, 0.0, -1.0e-16).
+
+test(lars_InitModelWithDataWithGram_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataWithGram([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], 0, 0, [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.0, 0.0, -1.0e-16).
+
+test(lars_InitModelWithDataWithGram_Too_Many_Labelclasses, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataWithGram([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], 0, 0, [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.0, 0.0, -1.0e-16).
+
+
+test(lars_InitModelWithDataWithGram_Diffrent_Dimensions, [error(_,system_error('Error'))]) :-
+        lars_initModelWithDataWithGram([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, 0, [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.0, 0.0, -1.0e-16).
+
+
+%% Successful Tests
+
+test(lars_InitModelWithDataWithGram_Normal_Use) :-
+        lars_initModelWithDataWithGram([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, 0, [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.0, 0.0, 1.0e-16).
+
+test(lars_InitModelWithDataWithGram_Alternative_Use) :-
+        lars_initModelWithDataWithGram([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.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, 1.0, -1.0, 1.0e-16).
+
+:- end_tests(lars_initModelWithDataWithGram).
+
+
+
+%%
+%% TESTING predicate lars_activeSet/1
+%%
+:- begin_tests(lars_activeSet).      
+
+%% Failure Tests
+                                            
+test(lars_ActiveSet_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_activeSet(_).
+        
+
+%% Successful Tests
+
+test(lars_ActiveSet_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_activeSet(ActiveSetList),
+        print('\nActive Set: '),
+        print(ActiveSetList).
+
+:- end_tests(lars_activeSet).
+
+
+
+%%
+%% TESTING predicate lars_beta/1
+%%
+:- begin_tests(lars_beta).      
+
+%% Failure Tests
+                                            
+test(lars_Beta_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_beta(_).
+        
 
-test(matUtriCholFactor) :-
-        reset_Model,
-        lars_matUtriCholFactor(Matrix, MatrixColNum, MatrixRowNum),
-        print(MatrixColNum),
-        convert_float_array_to_2d_list(Matrix, MatrixColNum, MatrixRowNum, Results),
-        print(Results).
+%% Successful Tests
+
+test(lars_Beta_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_beta(BetaList),
+        print('\nBeta : '),
+        print(BetaList).
 
-test(betaPath) :-
-        reset_Model,
-        lars_betaPath(Matrix, MatrixColNum, MatrixRowNum),
-        print(MatrixColNum),
-        convert_float_array_to_2d_list(Matrix, MatrixColNum, MatrixRowNum, Results),
-        print(Results).
+:- end_tests(lars_beta).
 
 
-:- end_tests(lists).
 
 %%
-%% TESTING predicate predicate/10
+%% TESTING predicate lars_betaPath/2
 %%
-:- begin_tests(predicate).      
+:- begin_tests(lars_betaPath).      
 
 %% Failure Tests
                                             
-test(testDescription, [error(domain_error('expectation' , culprit), _)]) :-
-        reset_Model_No_Train(perceptron),
-        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,0,0,0], 2, culprit, 50, 0.0001, _).
+test(lars_BetaPath_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_betaPath(_, _).
+        
+
+%% Successful Tests
+
+test(lars_BetaPath_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_betaPath(BetaPathList, _),
+        print('\nBeta List: '),
+        print(BetaPathList).
+
+:- end_tests(lars_betaPath).
+
+
+
+%%
+%% TESTING predicate lars_computeError/5
+%%
+:- begin_tests(lars_computeError).      
+
+%% Failure Tests
+
+test(lars_ComputeError_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_computeError([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, _).
+
+
+test(lars_ComputeError_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+        reset_Model_WithTrain,
+        lars_computeError([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, _).
+
+test(lars_ComputeError_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+        reset_Model_WithTrain,
+        lars_computeError([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], 0, _).
+
+test(lars_ComputeError_Too_Many_Labelclasses, [error(_,system_error('Error'))]) :-
+        reset_Model_WithTrain,
+        lars_computeError([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], 0, _).
+
+
+%% Successful Tests
 
-test(testDescription2, [error(_,system_error('The values of the Label have to start at 0 and be >= 0 and < the given numClass!'))]) :-
-        reset_Model_No_Train(perceptron),
-        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,2], 2, perceptron, 50, 0.0001, _).
+test(lars_ComputeError_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_computeError([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, Error),
+        print('\nError : '),
+        print(Error).
+
+test(lars_ComputeError_Alternative_Use) :-
+        reset_Model_WithTrain,
+        lars_computeError([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, Error),
+        print('\nError : '),
+        print(Error).
+
+test(lars_ComputeError_CSV_Input) :-
+        reset_Model_WithTrain,
+        open('src/data_csv/iris2.csv', read, File),
+        take_csv_row(File, skipFirstRow,10, Data),
+        lars_computeError(Data, 4, [0,1,0,1,1,0,1,1,1,0], 0, Error),
+        print('\nError : '),
+        print(Error).
+
+:- end_tests(lars_computeError).
+
+
+
+%%
+%% TESTING predicate lars_lambdaPath/1
+%%
+:- begin_tests(lars_lambdaPath).      
+
+%% Failure Tests
+                                            
+test(lars_LambdaPath_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_lambdaPath(_).
         
 
 %% Successful Tests
 
-test(testDescription3, [true(Error =:= 1)]) :-
-        reset_Model_No_Train(perceptron),
-        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,0,0,0], 2, perceptron, 50, 0.0001, Error).
+test(lars_LambdaPath_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_lambdaPath(LambdaPathList),
+        print('\nLambda Path: '),
+        print(LambdaPathList).
+
+:- end_tests(lars_lambdaPath).
+
+
+
+%%
+%% TESTING predicate lars_matUtriCholFactor/2
+%%
+:- begin_tests(lars_matUtriCholFactor).      
+
+%% Failure Tests
+                                            
+test(lars_MatUtriCholFactor_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_matUtriCholFactor(_, _).
+        
+
+%% Successful Tests
+
+test(lars_MatUtriCholFactor_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_matUtriCholFactor(FactorList, _),
+        print('\nUtriCholFactor: '),
+        print(FactorList).
+
+:- end_tests(lars_matUtriCholFactor).
+
+
+
+%%
+%% TESTING predicate lars_predict/10
+%%
+:- begin_tests(lars_predict).      
+
+%% Failure Tests
+
+test(lars_Predict_Before_Train, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_predict([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, _).
+
+
+test(lars_Predict_Diffrent_Dims, [error(_,system_error('Error'))]) :-
+        reset_Model_WithTrain,
+        lars_predict([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, _).
+
+
+%% Successful Tests
+
+test(lars_Predict_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_predict([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, PredictList),
+        print('\nPrediction: '),
+        print(PredictList).
+
+test(lars_Predict_Alternative_Use) :-
+        reset_Model_WithTrain,
+        lars_predict([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, 1, PredictList),
+        print('\nPrediction: '),
+        print(PredictList).
+
+test(lars_Predict_CSV_Input) :-
+        reset_Model_WithTrain,
+        open('src/data_csv/iris2.csv', read, File),
+        take_csv_row(File, skipFirstRow,10, Data),
+        lars_predict(Data, 4, 0, PredictList),
+        print('\nPrediction: '),
+        print(PredictList).
+
+:- end_tests(lars_predict).
+
+
+
+%%
+%% TESTING predicate lars_train/10
+%%
+:- begin_tests(lars_train).      
+
+%% Failure Tests\
+
+test(lars_Train_Diffrent_Dims, [error(_,system_error('Error'))]) :-
+        reset_Model_WithTrain,
+        lars_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], 4, [0,1,0], 0, _, _).
+
+
+test(lars_Train_Too_Few_Labels, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_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, _, _).
+
+test(lars_Train_Too_Many_Labels, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_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], 0, _, _).
+
+test(lars_Train_Too_Many_Labelclasses, [error(_,system_error('Error'))]) :-
+        reset_Model_NoTrain,
+        lars_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], 0, _, _).
+
+
+%% Successful Tests
+
+test(lars_Train_Normal_Use) :-
+        reset_Model_NoTrain,
+        lars_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, BetaList, Error),
+        print('\nBeta: '),
+        print(BetaList),
+        print('\nError: '),
+        print(Error).
+
+test(lars_Train_Normal_Use) :-
+        reset_Model_WithTrain,
+        lars_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, BetaList, Error),
+        print('\nBeta: '),
+        print(BetaList),
+        print('\nError: '),
+        print(Error).
+
+test(lars_Train_Alternative_Use) :-
+        reset_Model_NoTrain,
+        lars_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], 1, BetaList, Error),
+        print('\nBeta: '),
+        print(BetaList),
+        print('\nError: '),
+        print(Error).
 
-test(testDescription4, [true(Error =:= 0.9797958971132711)]) :-
-        reset_Model_No_Train(perceptron),
+test(lars_Train_CSV_Input) :-
+        reset_Model_NoTrain,
         open('src/data_csv/iris2.csv', read, File),
         take_csv_row(File, skipFirstRow,10, Data),
-        train(Data, 4, [0,1,0,1,1,0,1,1,1,0], 2, perceptron, 50, 0.0001, Error).
+        lars_train(Data, 4, [0,1,0,1,1,0,1,1,1,0], 0, BetaList, Error),
+        print('\nBeta: '),
+        print(BetaList),
+        print('\nError: '),
+        print(Error).
 
-:- end_tests(predicate).
+:- end_tests(lars_train).
 
 run_lars_tests :-
         run_tests.
\ No newline at end of file