File: TestCreate.m

package info (click to toggle)
sbmltoolbox 4.1.0-5.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,032 kB
  • sloc: xml: 2,438; makefile: 8; sh: 7
file content (82 lines) | stat: -rw-r--r-- 2,819 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
function y = TestCreate()

%<!---------------------------------------------------------------------------
% This file is part of SBMLToolbox.  Please visit http://sbml.org for more
% information about SBML, and the latest version of SBMLToolbox.
%
% Copyright (C) 2009-2012 jointly by the following organizations: 
%     1. California Institute of Technology, Pasadena, CA, USA
%     2. EMBL European Bioinformatics Institute (EBML-EBI), Hinxton, UK
%
% Copyright (C) 2006-2008 jointly by the following organizations: 
%     1. California Institute of Technology, Pasadena, CA, USA
%     2. University of Hertfordshire, Hatfield, UK
%
% Copyright (C) 2003-2005 jointly by the following organizations: 
%     1. California Institute of Technology, Pasadena, CA, USA 
%     2. Japan Science and Technology Agency, Japan
%     3. University of Hertfordshire, Hatfield, UK
%
% SBMLToolbox is free software; you can redistribute it and/or modify it
% under the terms of the GNU Lesser General Public License as published by
% the Free Software Foundation.  A copy of the license agreement is provided
% in the file named "LICENSE.txt" included with this software distribution.
%----------------------------------------------------------------------- -->



fail = 0;
numTests = 0;

warning('off', 'Warn:InvalidLV');
if exist('OCTAVE_VERSION')
  warning('off', 'Octave:divide-by-zero');
end;

disp('Testing create functions');

typecodes =  {'SBML_ALGEBRAIC_RULE', 'SBML_ASSIGNMENT_RULE', ...
  'SBML_COMPARTMENT', 'SBML_COMPARTMENT_TYPE', 'SBML_COMPARTMENT_VOLUME_RULE', ...
  'SBML_CONSTRAINT', 'SBML_DELAY', 'SBML_EVENT', 'SBML_EVENT_ASSIGNMENT', ...
  'SBML_FUNCTION_DEFINITION', 'SBML_INITIAL_ASSIGNMENT', 'SBML_KINETIC_LAW', ...
  'SBML_LOCAL_PARAMETER', 'SBML_MODEL', 'SBML_MODIFIER_SPECIES_REFERENCE', ...
  'SBML_PARAMETER', 'SBML_PARAMETER_RULE', 'SBML_PRIORITY', 'SBML_RATE_RULE', ...
  'SBML_REACTION', 'SBML_SPECIES', 'SBML_SPECIES_CONCENTRATION_RULE', ...
  'SBML_SPECIES_REFERENCE', 'SBML_SPECIES_TYPE', 'SBML_STOICHIOMETRY_MATH', ...
  'SBML_TRIGGER', 'SBML_UNIT', 'SBML_UNIT_DEFINITION'};

warning('off', 'Warn:InvalidLV');

for i = 1:length(typecodes)

  for level = 1:3
    switch (level)
      case 1
        lastver = 2;
      case 2
        lastver = 4;
      case 3
        lastver = 1;
      otherwise
        lastver = 1;
    end;
    for version = 1:lastver
      warning('off', 'Warn:InvalidLV');
      obj = Object_create(typecodes{i} ,level, version);
      numTests = numTests+1;
      if (~isempty(obj) && ~isValid(obj, level, version))
        fail = fail + 1;
      end;
    end;
  end;

end;

warning('on', 'Warn:InvalidLV');

disp(sprintf('Number tests: %d', numTests));
disp(sprintf('Number fails: %d', fail));
disp(sprintf('Pass rate: %d%%', ((numTests-fail)/numTests)*100));

y = fail;