% TEST_COS test cos() operator for analysis objects.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DESCRIPTION: TEST_COS Test cos() operator for analysis objects with
%                       tsdata, fsdata cdata and xydata
%
% CALL:    test_cos;
%
% HISTORY: 22-05-2007 Diepholz
%             Creation.
%
% VERSION: % $Id: test_cos.m,v 1.4 2009/02/02 15:20:38 hewitson Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function test_cos()
  
  % Create tsdata with a sinewave
  pl = plist('fs', 100, 'nsecs', 5, 'waveform', 'sine wave', 'f', 1.23, 'phi', 30);
  
  ts_data = ao(pl);
  
  % Create cdata with a 3x3 Matrix
  matr = [1 2 3; 4  5 6; 7 8  9];
  
  c_data = cdata(matr);
  c_data = ao(c_data);
  
  % Create xydata with a exp function
  x = 1:1000;
  y = exp(x.^.5/2);
  
  xy_data = xydata(x,y);
  xy_data = ao(xy_data);
  
  % Some tests
  ao_out = cos(ts_data);
  ao_out = cos(ts_data, ts_data, ts_data);
  ao_out = cos(ts_data, c_data, xy_data);
  
  % Create different parameter lists to control the cos test
  pl1 = plist('xdata', 't', 'ydata', 'x');
  ao_out = cos(ts_data, pl1);
  
  pl2 = plist('xdata', 'x', 'ydata', 'y');
  ao_out = cos(xy_data, pl2);
  
end