Exemplo n.º 1
0
END_TEST



START_TEST (test_Reaction_addModifier1)
{
  Reaction_t *m = Reaction_create(2, 2);
  SpeciesReference_t *p 
    = SpeciesReference_createModifier(2, 2);
  SpeciesReference_t *p1 
    = SpeciesReference_createModifier(2, 2);
  SpeciesReference_setSpecies(p1, "k");
  SpeciesReference_setId(p1, "k1");

  int i = Reaction_addModifier(m, p);

  fail_unless( i == LIBSBML_INVALID_OBJECT);
  
  SpeciesReference_setSpecies(p, "k");
  SpeciesReference_setId(p, "k1");
  i = Reaction_addModifier(m, p);

  fail_unless( i == LIBSBML_OPERATION_SUCCESS);
  fail_unless( Reaction_getNumModifiers(m) == 1);

  i = Reaction_addModifier(m, p1);

  fail_unless( i == LIBSBML_DUPLICATE_OBJECT_ID);
  fail_unless( Reaction_getNumModifiers(m) == 1);

  SpeciesReference_free(p);
  SpeciesReference_free(p1);
  Reaction_free(m);
}
Exemplo n.º 2
0
END_TEST


START_TEST (test_Reaction_compartment)
{
  const char *name = "Cell";

  Reaction_t * r = Reaction_create(3, 1);

  Reaction_setCompartment(r, name);

  fail_unless( !strcmp(Reaction_getCompartment(r), name) );
  fail_unless( Reaction_isSetCompartment(r) );

  if (Reaction_getCompartment(r) == name)
  {
    fail("Reaction_setCompartment(...) did not make a copy of string.");
  }

  /* Reflexive case (pathological) */
  Reaction_setCompartment(r, Reaction_getCompartment(r));
  fail_unless( !strcmp(Reaction_getCompartment(r), name) );

  Reaction_unsetCompartment(r);
  fail_unless( !Reaction_isSetCompartment(r) );

  if (Reaction_getCompartment(r) != NULL)
  {
    fail("Reaction_unsetCompartment(r) did not clear string.");
  }

  Reaction_free(r);
}
Exemplo n.º 3
0
void
ReactionTest_setup (void)
{
  R = Reaction_create(2, 4);

  if (R == NULL)
  {
    fail("Reaction_create() returned a NULL pointer.");
  }
}
Exemplo n.º 4
0
END_TEST


START_TEST (test_Reaction_setFast2)
{
  Reaction_t *R1 = Reaction_create(2, 4);
  int i = Reaction_unsetFast(R1);

  fail_unless( i == LIBSBML_OPERATION_SUCCESS );
  fail_unless( Reaction_getFast(R1) == 0 );
  fail_unless( !Reaction_isSetFast(R1));
}
Exemplo n.º 5
0
END_TEST


START_TEST (test_Reaction_createKineticLaw)
{
  Reaction_t *r = Reaction_create(2, 2);
  
  KineticLaw_t *kl = Reaction_createKineticLaw(r);

  fail_unless( Reaction_isSetKineticLaw(r) == 1);
  fail_unless( SBase_getLevel((SBase_t *) (kl)) == 2 );
  fail_unless( SBase_getVersion((SBase_t *) (kl)) == 2 );

  Reaction_free(r);
}
Exemplo n.º 6
0
END_TEST


START_TEST (test_Reaction_createModifier)
{
  Reaction_t *m = Reaction_create(2, 2);
  
  SpeciesReference_t *p = Reaction_createModifier(m);

  fail_unless( Reaction_getNumModifiers(m) == 1);
  fail_unless( SBase_getLevel((SBase_t *) (p)) == 2 );
  fail_unless( SBase_getVersion((SBase_t *) (p)) == 2 );

  Reaction_free(m);
}
Exemplo n.º 7
0
END_TEST


START_TEST (test_Reaction_addModifier3)
{
  Reaction_t *m = Reaction_create(2, 2);
  SpeciesReference_t *p = NULL; 

  int i = Reaction_addModifier(m, p);

  fail_unless( i == LIBSBML_OPERATION_FAILED);
  fail_unless( Reaction_getNumModifiers(m) == 0);

  Reaction_free(m);
}
Exemplo n.º 8
0
END_TEST


START_TEST (test_Reaction_setName3)
{
  Reaction_t *p = 
    Reaction_create(2, 2);

  int i = Reaction_setName(p, NULL);

  fail_unless( i == LIBSBML_OPERATION_SUCCESS );
  fail_unless( !Reaction_isSetName(p) );

  Reaction_free(p);
}
Exemplo n.º 9
0
END_TEST


START_TEST (test_Reaction_addModifier2)
{
  Reaction_t *m = Reaction_create(2, 2);
  SpeciesReference_t *p 
    = SpeciesReference_createModifier(2, 1);
  SpeciesReference_setSpecies(p, "k");

  int i = Reaction_addModifier(m, p);

  fail_unless( i == LIBSBML_VERSION_MISMATCH);
  fail_unless( Reaction_getNumModifiers(m) == 0);

  SpeciesReference_free(p);
  Reaction_free(m);
}
Exemplo n.º 10
0
END_TEST


START_TEST (test_Reaction_addProduct3)
{
  Reaction_t *m = Reaction_create(2, 2);
  SpeciesReference_t *p 
    = SpeciesReference_create(1, 2);
  SpeciesReference_setSpecies(p, "k");

  int i = Reaction_addProduct(m, p);

  fail_unless( i == LIBSBML_LEVEL_MISMATCH);
  fail_unless( Reaction_getNumProducts(m) == 0);

  SpeciesReference_free(p);
  Reaction_free(m);
}
Exemplo n.º 11
0
Arquivo: doc.c Projeto: cran/rsbml
static Reaction_t *
rsbml_build_doc_reaction(SEXP r_reaction)
{
  Reaction_t * reaction;
  SEXP kineticLaw = GET_SLOT(r_reaction, install("kineticLaw"));
  
  reaction = Reaction_create();
  
  rsbml_build_doc_s_base((SBase_t *)reaction, r_reaction);
  
  SET_ATTR(Reaction, reaction, Id, id, STRING);
  SET_ATTR(Reaction, reaction, Name, name, STRING);
  ADD_LIST(Reaction, reaction, Reactant, reactants, species_reference);
  ADD_LIST(Reaction, reaction, Product, products, species_reference);
  ADD_LIST(Reaction, reaction, Modifier, modifiers, modifier_species_reference);
  if (GET_LENGTH(kineticLaw))
    Reaction_setKineticLaw(reaction, rsbml_build_doc_kinetic_law(kineticLaw));
  SET_ATTR(Reaction, reaction, Reversible, reversible, LOGICAL);
  SET_ATTR(Reaction, reaction, Fast, fast, LOGICAL);
  
  return reaction;
}