MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / test

Function test

extern/cloop/src/tests/test1/CTest.c:327–391  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

325
326
327static void test(struct CALC_IFactory* (*createFactory)())
328{
329 struct CALC_IFactory* factory = createFactory();
330 struct CALC_IStatus* status = (struct CALC_IStatus*) CALC_IStatusImpl_create();
331 struct CALC_ICalculator* calculator;
332 struct CALC_ICalculator2* calculator2;
333 int sum, code, address;
334
335 calculator = CALC_IFactory_createCalculator(factory, status);
336
337 address = 40;
338
339 CALC_ICalculator_sumAndStore(calculator, status, 1, 22);
340 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 23
341
342 CALC_ICalculator_setMemory(calculator, CALC_ICalculator_sum(calculator, status, 2, 33));
343 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 35
344
345 calculator2 = CALC_IFactory_createCalculator2(factory, status);
346
347 CALC_ICalculator2_copyMemory(calculator2, calculator);
348 printf("%d\n", CALC_ICalculator2_getMemory(calculator2)); // 35
349
350 CALC_ICalculator2_copyMemory2(calculator2, &address);
351 printf("%d\n", CALC_ICalculator2_getMemory(calculator2)); // 40
352
353 CALC_ICalculator_dispose(calculator);
354 calculator = (struct CALC_ICalculator*) calculator2;
355
356 CALC_ICalculator_sumAndStore(calculator, status, 1, 22);
357 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 23
358
359 CALC_ICalculator_setMemory(calculator, CALC_ICalculator_sum(calculator, status, 2, 33));
360 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 35
361
362 CALC_ICalculator2_sumAndStore(calculator2, status, 1, 22);
363 printf("%d\n", CALC_ICalculator2_getMemory(calculator2)); // 23
364
365 CALC_ICalculator2_setMemory(calculator2, CALC_ICalculator2_multiply(calculator2, status, 2, 33));
366 printf("%d\n", CALC_ICalculator2_getMemory(calculator2)); // 66
367
368 CALC_ICalculator_dispose(calculator);
369
370 calculator = CALC_IFactory_createBrokenCalculator(factory, status);
371
372 CALC_ICalculator_sumAndStore(calculator, status, 1, 22);
373 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 24
374
375 CALC_ICalculator_setMemory(calculator, CALC_ICalculator_sum(calculator, status, 2, 33));
376 printf("%d\n", CALC_ICalculator_getMemory(calculator)); // 36
377
378 sum = CALC_ICalculator_sum(calculator, status, 600, 600);
379 code = CALC_IStatus_getCode(status);
380 if (code != 0)
381 printf("exception %d\n", code); // exception 1
382 else
383 printf("%d\n", sum);
384

Callers 1

mainFunction · 0.70

Tested by

no test coverage detected