Skip to content
Snippets Groups Projects
Commit ed673d09 authored by Jakhes's avatar Jakhes
Browse files

Adding radical tests

parent 381bf673
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,10 @@
%% Initilizes the radical model.
%%
initModel(NoiseStdDev, Replicates, Angles, Sweeps, M) :-
NoiseStdDev >= 0,
Replicates > 0,
Angles > 0,
Sweeps >= 0,
initModelI(NoiseStdDev, Replicates, Angles, Sweeps, M).
foreign(initModel, c, initModelI(+float32, +integer, +integer, +integer, +integer)).
......
......@@ -7,35 +7,107 @@
:- use_module('../../helper_files/helper.pl').
reset_Model :-
initModel(1,0,50,0.0001).
initModel(0.175,30,150,0,0).
%%
%% TESTING predicate predicate/10
%% TESTING predicate initModel/5
%%
:- begin_tests(predicate).
:- begin_tests(initModel).
%% Failure Tests
test(radical_InitModel_DoRadical_No_Init) :-
doRadical([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, Y, _, W, _),
print('\nY: '),
print(Y),
print('\nW: '),
print(W).
test(radical_InitModel_DoRadical2D_No_Init) :-
doRadical2D([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, Result),
print('\nResult: '),
print(Result).
test(radical_InitModel_Negative_NoiseStdDev, fail) :-
initModel(-0.175,30,150,0,0).
test(radical_InitModel_Negative_Replicates, fail) :-
initModel(0.175,-30,150,0,0).
test(radical_InitModel_Negative_Angles, fail) :-
initModel(0.175,30,-150,0,0).
test(radical_InitModel_Negative_Sweeps, fail) :-
initModel(0.175,30,150,-1,0).
test(radical_InitModel_Negative_M, fail) :-
initModel(0.175,30,150,0,-1).
%% Successful Tests
test(radical_InitModel_Normal_Use) :-
initModel(0.175,30,150,0,0).
:- end_tests(initModel).
%%
%% TESTING predicate doRadical/10
%%
:- begin_tests(doRadical).
%% 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(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, _).
%% Successful Tests
test(radical_DoRadical_Normal_Use) :-
reset_Model,
doRadical([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, Y, _, W, _),
print('\nY: '),
print(Y),
print('\nW: '),
print(W).
test(radical_DoRadical_CSV_Input) :-
reset_Model,
open('src/data_csv/iris2.csv', read, File),
take_csv_row(File, skipFirstRow,10, Data),
doRadical(Data, 4, Y, _, W, _),
print('\nY: '),
print(Y),
print('\nW: '),
print(W).
:- end_tests(doRadical).
%%
%% TESTING predicate predicate/10
%%
:- begin_tests(predicate).
%% Failure Tests
%% 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(radical_DoRadical2D_Normal_Use) :-
reset_Model,
doRadical2D([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, Result),
print('\nResult: '),
print(Result).
test(testDescription4, [true(Error =:= 0.9797958971132711)]) :-
reset_Model_No_Train(perceptron),
test(radical_DoRadical2D_CSV_Input) :-
reset_Model,
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).
doRadical2D(Data, 4, Result),
print('\nResult: '),
print(Result).
:- end_tests(predicate).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment