view m-toolbox/m/dev/test_getInfo.m @ 47:dd93c9ba6624
database-connection-manager
Fix Java dialog
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Tue, 06 Dec 2011 19:07:27 +0100 (2011-12-06)
parents
f0afece42f48
children
line source
+ − % Checks the getInfo call for all class methods
+ − %
+ −
+ − classes = utils.helper.ltpda_classes;
+ − fails = {};
+ − for jj=1:numel(classes)
+ − cl = classes{jj};
+ − disp(sprintf('=========== %s ===============', cl))
+ − % Class info
+ − try
+ − % get meta info for this class
+ − ci = eval(sprintf('?%s', cl));
+ − % Get methods
+ − ms = ci.Methods;
+ −
+ − % Check if this is an abstract class
+ − try
+ − o = feval(cl);
+ − abstract = false;
+ − catch
+ − abstract = true;
+ − end
+ −
+ − if ~abstract
+ − % Go through methods
+ − for kk=1:numel(ms)
+ − m = ms{kk};
+ − % If this is not an inherited
+ − if strcmp(m.DefiningClass.Name, cl)
+ − disp(sprintf(' -- checking %s/%s', cl, m.Name));
+ − if strcmp(m.Access, 'public') && ~m.Static && ~strcmp(m.Name, 'Contents')
+ − cmd = sprintf('%s.getInfo(''%s'')', cl, m.Name);
+ − ii = [];
+ − try
+ − ii = eval(cmd);
+ − end
+ − if ~isa(ii, 'minfo')
+ − fails = [fails sprintf('%s/%s', cl, m.Name)];
+ − end
+ − end
+ − else
+ − warning('!!! Skipping inherited method %s/%s', cl, m.Name);
+ − end
+ − end
+ − end
+ − catch
+ − warning('!!! Couldn''t get meta info for class %s', cl);
+ − end
+ − end
+ −
+ − fd = fopen('getinfo_fails.txt', 'w+');
+ − for j=1:numel(fails)
+ − fprintf(fd, '%s\n', fails{j});
+ − end
+ − fclose(fd)
+ − edit getinfo_fails.txt
+ −