1function y = testIsSBMLModel(silent, FbcEnabled) 2 3 fail = 0; 4 test = 0; 5 6 m = TranslateSBML('test-data/l1v2-all.xml'); 7 8 test = test + 1; 9 [pass, message] = isSBML_Model(m); 10 if (pass == 0) 11 fail = fail + 1; 12 disp('l1v2-all Model failed'); 13 disp(message); 14 end; 15 test = test + 1; 16 [pass, message] = isSBML_Model(m, 0); 17 if (pass == 0) 18 fail = fail + 1; 19 disp('l1v2-all Model exclusive failed:'); 20 disp(message); 21 end; 22 23 24 m.unitDefinition(1).unit(1).extra = 'extra'; 25 26 test = test + 1; 27 [pass, message] = isSBML_Model(m); 28 if (pass == 0) 29 fail = fail + 1; 30 disp('l1v2-all unit extra failed'); 31 disp(message); 32 end; 33 34 test = test + 1; 35 [pass, message] = isSBML_Model(m, 0); 36 if (pass == 1) 37 fail = fail + 1; 38 disp('l1v2-all unit extra exclusive failed'); 39 disp(message); 40 end; 41 42 m = TranslateSBML('test-data/l1v2-all.xml'); 43 m.rule(1).extra = 'extra'; 44 45 test = test + 1; 46 [pass, message] = isSBML_Model(m); 47 if (pass == 0) 48 fail = fail + 1; 49 disp('l1v2-all algebraicRule extra failed'); 50 disp(message); 51 end; 52 test = test + 1; 53 [pass, message] = isSBML_Model(m, 0); 54 if (pass == 1) 55 fail = fail + 1; 56 disp('l1v2-all algebraicRule extra exclusive failed'); 57 disp(message); 58 end; 59 60 m = TranslateSBML('test-data/l1v2-all.xml'); 61 m.rule(2).extra = 'extra'; 62 63 test = test + 1; 64 [pass, message] = isSBML_Model(m); 65 if (pass == 0) 66 fail = fail + 1; 67 disp('l1v2-all species conc rule extra failed'); 68 disp(message); 69 end; 70 test = test + 1; 71 [pass, message] = isSBML_Model(m, 0); 72 if (pass == 1) 73 fail = fail + 1; 74 disp('l1v2-all species conc rule extra exclusive failed'); 75 disp(message); 76 end; 77 78 m = TranslateSBML('test-data/l1v2-all.xml'); 79 m.rule(3).extra = 'extra'; 80 81 test = test + 1; 82 [pass, message] = isSBML_Model(m); 83 if (pass == 0) 84 fail = fail + 1; 85 disp('l1v2-all comp vol rule extra failed'); 86 disp(message); 87 end; 88 test = test + 1; 89 [pass, message] = isSBML_Model(m, 0); 90 if (pass == 1) 91 fail = fail + 1; 92 disp('l1v2-all comp vol rule extra exclusive failed'); 93 disp(message); 94 end; 95 96 m = TranslateSBML('test-data/l1v2-all.xml'); 97 m.rule(4).extra = 'extra'; 98 99 test = test + 1; 100 [pass, message] = isSBML_Model(m); 101 if (pass == 0) 102 fail = fail + 1; 103 disp('l1v2-all param rule extra failed'); 104 disp(message); 105 end; 106 test = test + 1; 107 [pass, message] = isSBML_Model(m, 0); 108 if (pass == 1) 109 fail = fail + 1; 110 disp('l1v2-all param rule extra exclusive failed'); 111 disp(message); 112 end; 113 test = test + 1; 114 [pass, message] = isSBML_Model(m, 1, 1); 115 if (pass == 0) 116 fail = fail + 1; 117 disp('l1v2-all param rule user defined failed'); 118 disp(message); 119 end; 120 121 m = TranslateSBML('test-data/l1v2-all.xml'); 122 m.unitDefinition(1).extra = 'extra'; 123 124 test = test + 1; 125 [pass, message] = isSBML_Model(m); 126 if (pass == 0) 127 fail = fail + 1; 128 disp('l1v2-all unitDefinition extra failed'); 129 disp(message); 130 end; 131 test = test + 1; 132 [pass, message] = isSBML_Model(m, 0); 133 if (pass == 1) 134 fail = fail + 1; 135 disp('l1v2-all unitDefinition extra exclusive failed'); 136 disp(message); 137 end; 138 139 m = TranslateSBML('test-data/l2v1-all.xml'); 140 141 test = test + 1; 142 [pass, message] = isSBML_Model(m); 143 if (pass == 0) 144 fail = fail + 1; 145 disp('l2v1-all Model failed'); 146 disp(message); 147 end; 148 test = test + 1; 149 [pass, message] = isSBML_Model(m, 0); 150 if (pass == 0) 151 fail = fail + 1; 152 disp('l2v1-all Model exclusive failed:'); 153 disp(message); 154 end; 155 156 157 m.functionDefinition(1).extra = 'extra'; 158 159 test = test + 1; 160 [pass, message] = isSBML_Model(m); 161 if (pass == 0) 162 fail = fail + 1; 163 disp('l2v1-all functionDefinition extra failed'); 164 disp(message); 165 end; 166 167 test = test + 1; 168 [pass, message] = isSBML_Model(m, 0); 169 if (pass == 1) 170 fail = fail + 1; 171 disp('l2v1-all functionDefinition extra exclusive failed'); 172 disp(message); 173 end; 174 175 m = TranslateSBML('test-data/l2v1-all.xml'); 176 m.compartment(1).extra = 'extra'; 177 178 test = test + 1; 179 [pass, message] = isSBML_Model(m); 180 if (pass == 0) 181 fail = fail + 1; 182 disp('l2v1-all compartment extra failed'); 183 disp(message); 184 end; 185 test = test + 1; 186 [pass, message] = isSBML_Model(m, 0); 187 if (pass == 1) 188 fail = fail + 1; 189 disp('l2v1-all compartment extra exclusive failed'); 190 disp(message); 191 end; 192 193 m = TranslateSBML('test-data/l2v1-all.xml'); 194 m.species(1).extra = 'extra'; 195 196 test = test + 1; 197 [pass, message] = isSBML_Model(m); 198 if (pass == 0) 199 fail = fail + 1; 200 disp('l2v1-all species extra failed'); 201 disp(message); 202 end; 203 test = test + 1; 204 [pass, message] = isSBML_Model(m, 0); 205 if (pass == 1) 206 fail = fail + 1; 207 disp('l2v1-all species extra exclusive failed'); 208 disp(message); 209 end; 210 211 m = TranslateSBML('test-data/l2v1-all.xml'); 212 m.parameter(1).extra = 'extra'; 213 214 test = test + 1; 215 [pass, message] = isSBML_Model(m); 216 if (pass == 0) 217 fail = fail + 1; 218 disp('l2v1-all parameter extra failed'); 219 disp(message); 220 end; 221 test = test + 1; 222 [pass, message] = isSBML_Model(m, 0); 223 if (pass == 1) 224 fail = fail + 1; 225 disp('l2v1-all parameter extra exclusive failed'); 226 disp(message); 227 end; 228 229 m = TranslateSBML('test-data/l2v1-all.xml'); 230 m.rule(1).extra = 'extra'; 231 232 test = test + 1; 233 [pass, message] = isSBML_Model(m); 234 if (pass == 0) 235 fail = fail + 1; 236 disp('l2v1-all algebraicRule extra failed'); 237 disp(message); 238 end; 239 test = test + 1; 240 [pass, message] = isSBML_Model(m, 0); 241 if (pass == 1) 242 fail = fail + 1; 243 disp('l2v1-all algebraicRule extra exclusive failed'); 244 disp(message); 245 end; 246 247 m = TranslateSBML('test-data/l2v1-all.xml'); 248 m.rule(2).extra = 'extra'; 249 250 test = test + 1; 251 [pass, message] = isSBML_Model(m); 252 if (pass == 0) 253 fail = fail + 1; 254 disp('l2v1-all assignmentRule extra failed'); 255 disp(message); 256 end; 257 test = test + 1; 258 [pass, message] = isSBML_Model(m, 0); 259 if (pass == 1) 260 fail = fail + 1; 261 disp('l2v1-all assignmentRule extra exclusive failed'); 262 disp(message); 263 end; 264 265 m = TranslateSBML('test-data/l2v1-all.xml'); 266 m.rule(3).extra = 'extra'; 267 268 test = test + 1; 269 [pass, message] = isSBML_Model(m); 270 if (pass == 0) 271 fail = fail + 1; 272 disp('l2v1-all rateRule extra failed'); 273 disp(message); 274 end; 275 test = test + 1; 276 [pass, message] = isSBML_Model(m, 0); 277 if (pass == 1) 278 fail = fail + 1; 279 disp('l2v1-all rateRule extra exclusive failed'); 280 disp(message); 281 end; 282 283 m = TranslateSBML('test-data/l2v1-all.xml'); 284 m.reaction(1).extra = 'extra'; 285 286 test = test + 1; 287 [pass, message] = isSBML_Model(m); 288 if (pass == 0) 289 fail = fail + 1; 290 disp('l2v1-all reaction extra failed'); 291 disp(message); 292 end; 293 test = test + 1; 294 [pass, message] = isSBML_Model(m, 0); 295 if (pass == 1) 296 fail = fail + 1; 297 disp('l2v1-all reaction extra exclusive failed'); 298 disp(message); 299 end; 300 301 302 m = TranslateSBML('test-data/l2v1-all.xml'); 303 m.event(1).extra = 'extra'; 304 305 test = test + 1; 306 [pass, message] = isSBML_Model(m); 307 if (pass == 0) 308 fail = fail + 1; 309 disp('l2v1-all event extra failed'); 310 disp(message); 311 end; 312 test = test + 1; 313 [pass, message] = isSBML_Model(m, 0); 314 if (pass == 1) 315 fail = fail + 1; 316 disp('l2v1-all event extra exclusive failed'); 317 disp(message); 318 end; 319 320 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 321 322 test = test + 1; 323 [pass, message] = isSBML_Model(m); 324 if (pass == 0) 325 fail = fail + 1; 326 disp('l2v2-newComponents Model failed'); 327 disp(message); 328 end; 329 test = test + 1; 330 [pass, message] = isSBML_Model(m, 0); 331 if (pass == 0) 332 fail = fail + 1; 333 disp('l2v2-newComponents Model exclusive failed:'); 334 disp(message); 335 end; 336 337 338 m.compartmentType(1).extra = 'extra'; 339 340 test = test + 1; 341 [pass, message] = isSBML_Model(m); 342 if (pass == 0) 343 fail = fail + 1; 344 disp('l2v2-newComponents compartmentType extra failed'); 345 disp(message); 346 end; 347 348 test = test + 1; 349 [pass, message] = isSBML_Model(m, 0); 350 if (pass == 1) 351 fail = fail + 1; 352 disp('l2v2-newComponents compartmentType extra exclusive failed'); 353 disp(message); 354 end; 355 356 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 357 m.speciesType(1).extra = 'extra'; 358 359 test = test + 1; 360 [pass, message] = isSBML_Model(m); 361 if (pass == 0) 362 fail = fail + 1; 363 disp('l2v2-newComponents speciesType extra failed'); 364 disp(message); 365 end; 366 test = test + 1; 367 [pass, message] = isSBML_Model(m, 0); 368 if (pass == 1) 369 fail = fail + 1; 370 disp('l2v2-newComponents speciesType extra exclusive failed'); 371 disp(message); 372 end; 373 374 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 375 m.initialAssignment(1).extra = 'extra'; 376 377 test = test + 1; 378 [pass, message] = isSBML_Model(m); 379 if (pass == 0) 380 fail = fail + 1; 381 disp('l2v2-newComponents initialAssignment extra failed'); 382 disp(message); 383 end; 384 test = test + 1; 385 [pass, message] = isSBML_Model(m, 0); 386 if (pass == 1) 387 fail = fail + 1; 388 disp('l2v2-newComponents initialAssignment extra exclusive failed'); 389 disp(message); 390 end; 391 392 393 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 394 m.constraint(1).extra = 'extra'; 395 396 test = test + 1; 397 [pass, message] = isSBML_Model(m); 398 if (pass == 0) 399 fail = fail + 1; 400 disp('l2v2-newComponents constraint extra failed'); 401 disp(message); 402 end; 403 test = test + 1; 404 [pass, message] = isSBML_Model(m, 0); 405 if (pass == 1) 406 fail = fail + 1; 407 disp('l2v2-newComponents constraint extra exclusive failed'); 408 disp(message); 409 end; 410 411 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 412 m.reaction(1).reactant(1).extra = 'extra'; 413 414 test = test + 1; 415 [pass, message] = isSBML_Model(m); 416 if (pass == 0) 417 fail = fail + 1; 418 disp('l2v2-newComponents reactant extra failed'); 419 disp(message); 420 end; 421 test = test + 1; 422 [pass, message] = isSBML_Model(m, 0); 423 if (pass == 1) 424 fail = fail + 1; 425 disp('l2v2-newComponents reactant extra exclusive failed'); 426 disp(message); 427 end; 428 429 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 430 m.reaction(1).kineticLaw.extra = 'extra'; 431 432 test = test + 1; 433 [pass, message] = isSBML_Model(m); 434 if (pass == 0) 435 fail = fail + 1; 436 disp('l2v2-newComponents kineticLaw extra failed'); 437 disp(message); 438 end; 439 test = test + 1; 440 [pass, message] = isSBML_Model(m, 0); 441 if (pass == 1) 442 fail = fail + 1; 443 disp('l2v2-newComponents kineticLaw extra exclusive failed'); 444 disp(message); 445 end; 446 447 m = TranslateSBML('test-data/l2v2-newComponents.xml'); 448 m.reaction(1).kineticLaw.parameter(1).extra = 'extra'; 449 450 test = test + 1; 451 [pass, message] = isSBML_Model(m); 452 if (pass == 0) 453 fail = fail + 1; 454 disp('l2v2-newComponents local parameter extra failed'); 455 disp(message); 456 end; 457 test = test + 1; 458 [pass, message] = isSBML_Model(m, 0); 459 if (pass == 1) 460 fail = fail + 1; 461 disp('l2v2-newComponents local parameter extra exclusive failed'); 462 disp(message); 463 end; 464 465 m = TranslateSBML('test-data/l2v3-all.xml'); 466 467 test = test + 1; 468 [pass, message] = isSBML_Model(m); 469 if (pass == 0) 470 fail = fail + 1; 471 disp('l2v3-all Model failed'); 472 disp(message); 473 end; 474 test = test + 1; 475 [pass, message] = isSBML_Model(m, 0); 476 if (pass == 0) 477 fail = fail + 1; 478 disp('l2v3-all Model exclusive failed:'); 479 disp(message); 480 end; 481 482 483 m.reaction(1).reactant(1).stochiometryMath.extra = 'extra'; 484 485 test = test + 1; 486 [pass, message] = isSBML_Model(m); 487 if (pass == 0) 488 fail = fail + 1; 489 disp('l2v3-all stochiometryMath extra failed'); 490 disp(message); 491 end; 492 493 test = test + 1; 494 [pass, message] = isSBML_Model(m, 0); 495 if (pass == 1) 496 fail = fail + 1; 497 disp('l2v3-all stochiometryMath extra exclusive failed'); 498 disp(message); 499 end; 500 501 m = TranslateSBML('test-data/l2v3-all.xml'); 502 m.event(1).trigger.extra = 'extra'; 503 504 test = test + 1; 505 [pass, message] = isSBML_Model(m); 506 if (pass == 0) 507 fail = fail + 1; 508 disp('l2v3-all trigger extra failed'); 509 disp(message); 510 end; 511 test = test + 1; 512 [pass, message] = isSBML_Model(m, 0); 513 if (pass == 1) 514 fail = fail + 1; 515 disp('l2v3-all trigger extra exclusive failed'); 516 disp(message); 517 end; 518 519 m = TranslateSBML('test-data/l2v3-all.xml'); 520 m.event(1).eventAssignment(1).extra = 'extra'; 521 522 test = test + 1; 523 [pass, message] = isSBML_Model(m); 524 if (pass == 0) 525 fail = fail + 1; 526 disp('l2v3-all eventAssignment extra failed'); 527 disp(message); 528 end; 529 test = test + 1; 530 [pass, message] = isSBML_Model(m, 0); 531 if (pass == 1) 532 fail = fail + 1; 533 disp('l2v3-all eventAssignment extra exclusive failed'); 534 disp(message); 535 end; 536 537 538 m = TranslateSBML('test-data/l2v5-all.xml'); 539 540 test = test + 1; 541 [pass, message] = isSBML_Model(m); 542 if (pass == 0) 543 fail = fail + 1; 544 disp('l2v5-all Model failed'); 545 disp(message); 546 end; 547 test = test + 1; 548 [pass, message] = isSBML_Model(m, 0); 549 if (pass == 0) 550 fail = fail + 1; 551 disp('l2v5-all Model exclusive failed:'); 552 disp(message); 553 end; 554 555 556 m.reaction(1).reactant(1).stochiometryMath.extra = 'extra'; 557 558 test = test + 1; 559 [pass, message] = isSBML_Model(m); 560 if (pass == 0) 561 fail = fail + 1; 562 disp('l2v5-all stochiometryMath extra failed'); 563 disp(message); 564 end; 565 566 test = test + 1; 567 [pass, message] = isSBML_Model(m, 0); 568 if (pass == 1) 569 fail = fail + 1; 570 disp('l2v5-all stochiometryMath extra exclusive failed'); 571 disp(message); 572 end; 573 574 m = TranslateSBML('test-data/l2v5-all.xml'); 575 m.event(1).trigger.extra = 'extra'; 576 577 test = test + 1; 578 [pass, message] = isSBML_Model(m); 579 if (pass == 0) 580 fail = fail + 1; 581 disp('l2v5-all trigger extra failed'); 582 disp(message); 583 end; 584 test = test + 1; 585 [pass, message] = isSBML_Model(m, 0); 586 if (pass == 1) 587 fail = fail + 1; 588 disp('l2v5-all trigger extra exclusive failed'); 589 disp(message); 590 end; 591 592 m = TranslateSBML('test-data/l2v5-all.xml'); 593 m.event(1).eventAssignment(1).extra = 'extra'; 594 595 test = test + 1; 596 [pass, message] = isSBML_Model(m); 597 if (pass == 0) 598 fail = fail + 1; 599 disp('l2v5-all eventAssignment extra failed'); 600 disp(message); 601 end; 602 test = test + 1; 603 [pass, message] = isSBML_Model(m, 0); 604 if (pass == 1) 605 fail = fail + 1; 606 disp('l2v5-all eventAssignment extra exclusive failed'); 607 disp(message); 608 end; 609 610 611 m = TranslateSBML('test-data/l3v1core.xml'); 612 613 test = test + 1; 614 [pass, message] = isSBML_Model(m); 615 if (pass == 0) 616 fail = fail + 1; 617 disp('l3v1core Model failed'); 618 disp(message); 619 end; 620 test = test + 1; 621 [pass, message] = isSBML_Model(m, 0); 622 if (pass == 0) 623 fail = fail + 1; 624 disp('l3v1core Model exclusive failed:'); 625 disp(message); 626 end; 627 628 629 m.reaction(1).kineticLaw(1).localParameter(1).extra = 'extra'; 630 631 test = test + 1; 632 [pass, message] = isSBML_Model(m); 633 if (pass == 0) 634 fail = fail + 1; 635 disp('l3v1core localParameter extra failed'); 636 disp(message); 637 end; 638 639 test = test + 1; 640 [pass, message] = isSBML_Model(m, 0); 641 if (pass == 1) 642 fail = fail + 1; 643 disp('l3v1core localParameter extra exclusive failed'); 644 disp(message); 645 end; 646 647 m = TranslateSBML('test-data/l3v1core.xml'); 648 m.event(1).delay.extra = 'extra'; 649 650 test = test + 1; 651 [pass, message] = isSBML_Model(m); 652 if (pass == 0) 653 fail = fail + 1; 654 disp('l3v1core delay extra failed'); 655 disp(message); 656 end; 657 test = test + 1; 658 [pass, message] = isSBML_Model(m, 0); 659 if (pass == 1) 660 fail = fail + 1; 661 disp('l3v1core delay extra exclusive failed'); 662 disp(message); 663 end; 664 665 m = TranslateSBML('test-data/l3v1core.xml'); 666 m.event(1).priority.extra = 'extra'; 667 668 test = test + 1; 669 [pass, message] = isSBML_Model(m); 670 if (pass == 0) 671 fail = fail + 1; 672 disp('l3v1core priority extra failed'); 673 disp(message); 674 end; 675 test = test + 1; 676 [pass, message] = isSBML_Model(m, 0); 677 if (pass == 1) 678 fail = fail + 1; 679 disp('l3v1core priority extra exclusive failed'); 680 disp(message); 681 end; 682 683 684 if (FbcEnabled == 1) 685 m = TranslateSBML('test-data/fbc.xml'); 686 687 test = test + 1; 688 [pass, message] = isSBML_Model(m); 689 if (pass == 0) 690 fail = fail + 1; 691 disp('fbc Model failed'); 692 disp(message); 693 end; 694 test = test + 1; 695 [pass, message] = isSBML_Model(m, 0); 696 if (pass == 0) 697 fail = fail + 1; 698 disp('fbc Model exclusive failed:'); 699 disp(message); 700 end; 701 702 m = TranslateSBML('test-data/fbc.xml'); 703 m.compartment(1).extra = 'extra'; 704 705 test = test + 1; 706 [pass, message] = isSBML_Model(m); 707 if (pass == 0) 708 fail = fail + 1; 709 disp('fbc core extra failed'); 710 disp(message); 711 end; 712 test = test + 1; 713 [pass, message] = isSBML_Model(m, 0); 714 if (pass == 1) 715 fail = fail + 1; 716 disp('fbc core extra exclusive failed:'); 717 disp(message); 718 end; 719 720 m = TranslateSBML('test-data/fbc.xml'); 721 m.fbc_fluxBound(1).extra = 'extra'; 722 723 test = test + 1; 724 [pass, message] = isSBML_Model(m); 725 if (pass == 0) 726 fail = fail + 1; 727 disp('fbc fluxbound extra failed'); 728 disp(message); 729 end; 730 test = test + 1; 731 [pass, message] = isSBML_Model(m, 0); 732 if (pass == 1) 733 fail = fail + 1; 734 disp('fbc fluxbound extra exclusive failed:'); 735 disp(message); 736 end; 737 738 m = TranslateSBML('test-data/fbc.xml'); 739 m.fbc_objective(1).extra = 'extra'; 740 741 test = test + 1; 742 [pass, message] = isSBML_Model(m); 743 if (pass == 0) 744 fail = fail + 1; 745 disp('fbc objective extra failed'); 746 disp(message); 747 end; 748 test = test + 1; 749 [pass, message] = isSBML_Model(m, 0); 750 if (pass == 1) 751 fail = fail + 1; 752 disp('fbc objective extra exclusive failed:'); 753 disp(message); 754 end; 755 756 m = TranslateSBML('test-data/fbc.xml'); 757 m.fbc_objective(1).fbc_fluxObjective(1).extra = 'extra'; 758 759 test = test + 1; 760 [pass, message] = isSBML_Model(m); 761 if (pass == 0) 762 fail = fail + 1; 763 disp('fbc fluxObjective extra failed'); 764 disp(message); 765 end; 766 test = test + 1; 767 [pass, message] = isSBML_Model(m, 0); 768 if (pass == 1) 769 fail = fail + 1; 770 disp('fbc fluxObjective extra exclusive failed:'); 771 disp(message); 772 end; 773 774 m = TranslateSBML('test-data/fbc.xml'); 775 m.species(1).extra = 'extra'; 776 777 test = test + 1; 778 [pass, message] = isSBML_Model(m); 779 if (pass == 0) 780 fail = fail + 1; 781 disp('fbc species extra failed'); 782 disp(message); 783 end; 784 test = test + 1; 785 [pass, message] = isSBML_Model(m, 0); 786 if (pass == 1) 787 fail = fail + 1; 788 disp('fbc species extra exclusive failed:'); 789 disp(message); 790 end; 791 792 m = TranslateSBML('test-data/fbc.xml'); 793 m.fbc_version = ''; 794 795 test = test + 1; 796 [pass, message] = isSBML_Model(m); 797 if (pass == 1) 798 fail = fail + 1; 799 disp('fbc missing version should fail'); 800 disp(message); 801 end; 802 test = test + 1; 803 804 m = TranslateSBML('test-data/fbcV2.xml'); 805 806 test = test + 1; 807 [pass, message] = isSBML_Model(m); 808 if (pass == 0) 809 fail = fail + 1; 810 disp('fbc Model failed'); 811 disp(message); 812 end; 813 test = test + 1; 814 [pass, message] = isSBML_Model(m, 0); 815 if (pass == 0) 816 fail = fail + 1; 817 disp('fbc Model exclusive failed:'); 818 disp(message); 819 end; 820 test = test + 1; 821 [pass, message] = isSBML_Model(m, 0, 1); 822 if (pass == 0) 823 fail = fail + 1; 824 disp('fbc Model userDefined failed:'); 825 disp(message); 826 end; 827 828 m.fbc_geneProduct(1).fbc_id = ''; 829 830 test = test + 1; 831[pass, message] = isSBML_Model(m, 0, 1); 832 if (pass == 0) 833 fail = fail + 1; 834 disp('fbc Model userDefined should fail'); 835 disp(message); 836 end; 837 838 m = TranslateSBML('test-data/fbc.xml'); 839 m.fbc_version = ''; 840 841 test = test + 1; 842 [pass, message] = isSBML_Model(m); 843 if (pass == 1) 844 fail = fail + 1; 845 disp('fbc missing version should fail'); 846 disp(message); 847 end; 848 test = test + 1; 849 850 m = TranslateSBML('test-data/algebraicRules.xml'); 851 m.rule(1).typecode = []; 852 853 test = test + 1; 854 [pass, message] = isSBML_Model(m); 855 if (pass == 1) 856 fail = fail + 1; 857 disp('missing typecode not correctly reported'); 858 disp(message); 859 end; 860 test = test + 1; 861 862 863 end; 864 865 866 if (silent == 0) 867 disp('Testing isSBMLModel:'); 868 disp(sprintf('Number tests: %d', test)); 869 disp(sprintf('Number fails: %d', fail)); 870 disp(sprintf('Pass rate: %d%%\n', ((test-fail)/test)*100)); 871 end; 872 873 if (fail == 0) 874 y = 0; 875 else 876 y = 1; 877 end;