diff options
Diffstat (limited to 'tests/test.sce')
-rw-r--r-- | tests/test.sce | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/tests/test.sce b/tests/test.sce new file mode 100644 index 0000000..e6a4463 --- /dev/null +++ b/tests/test.sce @@ -0,0 +1,264 @@ +test_pass=[] +res=[] + +test1=0 +exec loader.sce +/////////Test case for 2) arburg ////////// + +a = octave_fun("arburg","signal", [1,2,3,4,5],2); +a = round(a*10000)/10000; + +if(a == [1. -1.8639 0.9571]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("arburg test failed") +end + +/////////Test case for 4) aryule ////////// + +a = octave_fun("aryule","signal", [1,2,3,4,5],2); +a = round(a*10000)/10000; + +if(a == [1. -0.814 0.1193]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("aryule test failed") +end + +/////////Test case for 38)levinson ////////// + +a = [1 0.1 -0.8]; +v = 0.4; +rand("seed", 0); +w = sqrt(v)*rand(15000,1); +x=octave_fun("filter","signal",1,a,w); + +r=octave_fun("xcorr","signal",x); + +ar=octave_fun("levinson","signal",r,length(a)-1); + +ar = round(ar*10000)/10000; + +if(ar ~= 0) + test_pass=[test_pass,1] + else + test_pass=[test_pass,0] + disp("levinson Test failed") +end + +/////////Test case for **)sigmoid_train ////////// + +s = octave_fun("sigmoid_train",0.1,[1:3],[4]); +s = round(s*10000)/10000 + +if(s == 0.2737) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("sigmoid_train Test failed") +end + +/////////Test case for **)circshift ///////// + + M = [1 2 3 4]; + R = octave_fun("circshift",M,[0 1]); + +if(R == [4 1 2 3]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("circshift failed") +end + +///////////////////////////////////////////// +/////////Test case for **)kaiser ////////// + +win = octave_fun("kaiser",6,[0.2]) ; +win = round(win*10000)/10000; + +if(win == [ 0.9901; 0.9964; 0.9996; 0.9996; 0.9964; 0.9901 ]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("kaiser Test failed") +end + +///////////////////////////////////////////// + +///////////////////////////////////////////// + + +/////////Test case for autoreg_matrix ////////// +m = octave_fun("autoreg_matrix",[1 2 3],[2]); + +if(m == [1 0 0; 1 1 0; 1 2 1]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("autoreg_matrix test failed") +end + +///////////////////////////////////////////// +/////////Test case for arch_rnd ////////// + +a = [1 2 3 4 5]; +b = [7 8 9 10]; +t = 5 ; +rand("seed", 0) +m = octave_fun("arch_rnd",a,b,t); +m = round(m*1000)/1000 + +if(m ~=0 ) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("arch_rnd Test failed") +end + +///////////////////////////////////////////// + +/////////Test case for postpad ////////// + +y = octave_fun("postpad",[1 2 3],6); + +if(y == [1 2 3 0 0 0 ] ) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("postpad Test failed") +end + + +/////////Test case for wconv ////////// +a = [1 2 3 4 5]; +b = [7 8 9 10]; +y = octave_fun("wconv",[1],a,b); + +if(y == [7. 22. 46. 80. 114. 106. 85. 50.]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("wconv Test failed") +end +/////////Test case for dctmtx ////////// +T = octave_fun("dctmtx",[3]); +T = round(T*10000)/10000; +if(T == [0.5774 0.5774 0.5774; 0.7071 0 -0.7071; 0.4082 -0.8165 0.4082]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("dctmtx Test failed") +end + +/////////Test case for 40) medfilt1 ////////// + + +fs = 100; +t = 0:1/fs:1; +x = sin(2*%pi*t*3)+0.25*sin(2*%pi*t*40); + +y = octave_fun("medfilt1","signal",x,10); +y = round(y*10000)/10000 ; +y = y' + +if(length(y) ~= 0) + test_pass=[test_pass,1] + else + test_pass=[test_pass,0] + disp("medfilt1 Test failed") +end + +///////////////////////////////////////////// +/////////Test case for arma_rnd ////////// + +a = [1 2 3 4 5]; +b = [7; 8; 9; 10; 11]; +t = 5 ; +v = 10 ; +n = 100 ; +rand("seed", 0) +m = octave_fun("arma_rnd","signal",a, b, v, t, n); +m = round(m) ; + +if(m ~= 0) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("arma_rnd Test failed") +end + +/////////Test case for ncauer ////////// + +[z p g] = octave_fun("ncauer","signal",3, 10, 4); +g = round(g*10000)/10000; + +if(g == 0.32400) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("ncauer Test failed") +end + +/////////Test case for ellipap ////////// + +[z p g] = octave_fun("ellipap","signal",4, 3, 10); +g = round(g*10000)/10000; + +if(g == 0.324) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("ellipap Test failed") +end + +[z p g] = octave_fun("besselap","signal",5); +g = round(g*10000)/10000; +p = round(p*10000)/10000; + +if(g == 1) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("besselap Test failed") +end + +/////////Test case for zp2tf ////////// + +[num, den] = octave_fun("zp2tf","signal",[1 2 3], [4 5 6], 5); +num = round(num*10000)/10000; +den = round(den*10000)/10000; + +if(num == [5 -30 55 -30] & den == [1. -15. 74. -120]) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("zp2tf Test failed") +end + +/////////Test case for tf2zp ////////// + +[z p k] = octave_fun("tf2zp","signal",[1 2 3], [4 5 6]); +k = round(k*10000)/10000; +p = round(p*10000)/10000; +z = round(z*10000)/10000; + +if(k == 0.25) + test_pass=[test_pass,1] +else + test_pass=[test_pass,0] + disp("tf2zp Test failed") +end +///////////////////////////////////////////// +res=find(test_pass==0) + +if(res~=[]) + disp("One or more tests failed in test1") + disp(length(test_pass),"Total functions tested:") + exit(1) +else +disp(length(test_pass),"Total functions tested:") +disp("ALL OK") +exit() +end |