コード例 #1
0
END_TEST


START_TEST (test_InitialAssignment_setMath)
{
  ASTNode_t *math = SBML_parseFormula("2 * k");
  char *formula;
  const ASTNode_t *math1;

  InitialAssignment_setMath(IA, math);

  math1 = InitialAssignment_getMath(IA);
  fail_unless( math1 != NULL );

  formula = SBML_formulaToString(math1);
  fail_unless( formula != NULL );
  fail_unless( !strcmp(formula, "2 * k") );
  fail_unless( InitialAssignment_getMath(IA) != math );
  fail_unless( InitialAssignment_isSetMath(IA) );

  /* Reflexive case (pathological) */
  InitialAssignment_setMath(IA, (ASTNode_t *) InitialAssignment_getMath(IA));

  math1 = InitialAssignment_getMath(IA);
  fail_unless( math1 != NULL );

  safe_free(formula);
  formula = SBML_formulaToString(math1);
  fail_unless( formula != NULL );
  fail_unless( !strcmp(formula, "2 * k") );
  fail_unless( InitialAssignment_getMath(IA) != math );
  safe_free(formula);

  InitialAssignment_setMath(IA, NULL);
  fail_unless( !InitialAssignment_isSetMath(IA) );

  if (InitialAssignment_getMath(IA) != NULL)
  {
    fail("InitialAssignment_setMath(IA, NULL) did not clear ASTNode.");
  }

  ASTNode_free(math);
}
コード例 #2
0
END_TEST


START_TEST (test_InitialAssignment_setMath1)
{
  ASTNode_t *math = SBML_parseFormula("2 * k");

  int i = InitialAssignment_setMath(E, math);

  fail_unless( i == LIBSBML_OPERATION_SUCCESS);
  fail_unless( InitialAssignment_getMath(E) != math );
  fail_unless( InitialAssignment_isSetMath(E) );

  i = InitialAssignment_setMath(E, NULL);
  
  fail_unless( i == LIBSBML_OPERATION_SUCCESS);
  fail_unless( InitialAssignment_getMath(E) == NULL );
  fail_unless( !InitialAssignment_isSetMath(E) );

  ASTNode_free(math);
}
コード例 #3
0
END_TEST


START_TEST (test_InitialAssignment_setMath2)
{
  ASTNode_t *math = ASTNode_createWithType(AST_DIVIDE);

  int i = InitialAssignment_setMath(E, math);

  fail_unless( i == LIBSBML_INVALID_OBJECT);
  fail_unless( !InitialAssignment_isSetMath(E) );

  ASTNode_free(math);
}