diff m-toolbox/test/test_ao_split.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/test/test_ao_split.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,50 @@
+% Test AO split method.
+%
+% M Hewitson 02-03-07
+%
+% $Id: test_ao_split.m,v 1.18 2010/05/06 09:33:49 nicolodi Exp $
+%
+function test_ao_split()
+  
+  % Make test AOs
+  
+  nsecs = 10;
+  fs    = 1000;
+  
+  pl = plist('nsecs', nsecs, 'fs', fs, 'tsfcn', 'randn(size(t))');
+  
+  a1 = ao(pl);
+  a1 = a1.setName;
+  
+  % Split by time
+  times = [0.0 1.0 1.0 2.5 2.0 3.0];
+  pl = plist('times', times);
+  b = split(a1, pl);
+  
+  % Plot
+  
+  iplot(a1, b)
+  
+  b1 = b(2);
+  plot(b1.hist)
+  
+  % Recreate from history
+  a_out = rebuild(b(1));
+  
+  iplot(a_out)
+  plot(a_out.hist)
+
+  % Construct an AO
+  a1 = ao(plist('waveform', 'sine', 'f', 0.1, 'a', 1, 'fs', 10, 'nsecs', 10));
+
+  % This should just remove the first data point
+  a2 = split(a1, plist('times', [0.05 0]));
+
+  % Check
+  assert(all(a2.y == a1.y(2:end)));
+  assert(all(((a2.x + a2.t0.utc_epoch_milli/1000.0) - (a1.x(2:end) + a1.t0.utc_epoch_milli/1000.0)) < 2*eps(a2.x)));
+
+  iplot(a1, a2, plist('markers', {'+','+'}));
+
+end
+% END