END_TEST START_TEST (test_StringBuffer_reset) { StringBuffer_append(SB, "foo"); fail_unless( StringBuffer_length(SB) == 3 ); fail_unless( StringBuffer_capacity(SB) == 10 ); StringBuffer_reset(SB); fail_unless( StringBuffer_length(SB) == 0 ); fail_unless( StringBuffer_capacity(SB) == 10 ); StringBuffer_append(SB, "foobarfoobar"); fail_unless( StringBuffer_length(SB) == 12 ); fail_unless( StringBuffer_capacity(SB) == 20 ); StringBuffer_reset(SB); fail_unless( StringBuffer_length(SB) == 0 ); fail_unless( StringBuffer_capacity(SB) == 20 ); }
END_TEST START_TEST (test_StringBuffer_accessWithNULL) { StringBuffer_append(NULL, NULL); StringBuffer_appendChar(NULL, ' '); StringBuffer_appendExp(NULL, 0.0); StringBuffer_appendInt(NULL, 0); StringBuffer_appendNumber(NULL, NULL); StringBuffer_appendReal(NULL, 0.0); fail_unless (StringBuffer_capacity(NULL) == 0); StringBuffer_ensureCapacity(NULL, 0); StringBuffer_free(NULL); fail_unless (StringBuffer_getBuffer(NULL) == NULL); StringBuffer_grow(NULL, 0); fail_unless (StringBuffer_length(NULL) == 0); StringBuffer_reset(NULL); fail_unless (StringBuffer_toString(NULL) == NULL); }
LIBSBML_CPP_NAMESPACE_BEGIN LIBSBML_EXTERN StringBuffer_t * StringBuffer_create (unsigned long capacity) { StringBuffer_t *sb; sb = (StringBuffer_t *) safe_malloc(sizeof(StringBuffer_t)); sb->buffer = (char *) safe_malloc(capacity + 1); sb->capacity = capacity; StringBuffer_reset(sb); return sb; }
END_TEST START_TEST (test_FormulaFormatter_formatReal) { StringBuffer_t *sb = StringBuffer_create(42); char *s = StringBuffer_getBuffer(sb); ASTNode_t *n = ASTNode_create(); /** 1.2 **/ ASTNode_setReal(n, 1.2); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "1.2"), NULL ); StringBuffer_reset(sb); /** 1e-100 **/ ASTNode_setRealWithExponent(n, 1, -100); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "1.000000e-100"), NULL ); StringBuffer_reset(sb); /** NaN **/ ASTNode_setReal(n, util_NaN()); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "NaN"), NULL ); StringBuffer_reset(sb); /** Inf **/ ASTNode_setReal(n, util_PosInf()); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "INF"), NULL ); StringBuffer_reset(sb); /** -Inf **/ ASTNode_setReal(n, util_NegInf()); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "-INF"), NULL ); StringBuffer_reset(sb); /** -0 **/ ASTNode_setReal(n, util_NegZero()); FormulaFormatter_formatReal(sb, n); fail_unless( !strcmp(s, "-0"), NULL ); StringBuffer_reset(sb); StringBuffer_free(sb); ASTNode_free(n); }