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

Function test

extern/cloop/src/tests/test1/CppTest.cpp:335–396  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

333
334
335static void test(calc::IFactory* (*createFactory)())
336{
337 calc::IFactory* factory = createFactory();
338 StatusImpl statusImpl;
339 StatusWrapper status(&statusImpl);
340
341 calc::ICalculator* calculator = factory->createCalculator(&status);
342
343 calculator->sumAndStore(&status, 1, 22);
344 printf("%d\n", calculator->getMemory()); // 23
345
346 calculator->setMemory(calculator->sum(&status, 2, 33));
347 printf("%d\n", calculator->getMemory()); // 35
348
349 calc::ICalculator2* calculator2 = factory->createCalculator2(&status);
350
351 calculator2->copyMemory(calculator);
352 printf("%d\n", calculator2->getMemory()); // 35
353
354 int address = 40;
355 calculator2->copyMemory2(&address);
356 printf("%d\n", calculator2->getMemory()); // 40
357
358 calculator->dispose();
359 calculator = calculator2;
360
361 calculator->sumAndStore(&status, 1, 22);
362 printf("%d\n", calculator->getMemory()); // 23
363
364 calculator->setMemory(calculator->sum(&status, 2, 33));
365 printf("%d\n", calculator->getMemory()); // 35
366
367 calculator2->sumAndStore(&status, 1, 22);
368 printf("%d\n", calculator2->getMemory()); // 23
369
370 calculator2->setMemory(calculator2->multiply(&status, 2, 33));
371 printf("%d\n", calculator2->getMemory()); // 66
372
373 calculator->dispose();
374
375 calculator = factory->createBrokenCalculator(&status);
376
377 calculator->sumAndStore(&status, 1, 22);
378 printf("%d\n", calculator->getMemory()); // 24
379
380 calculator->setMemory(calculator->sum(&status, 2, 33));
381 printf("%d\n", calculator->getMemory()); // 36
382
383 try
384 {
385 printf("%d\n", calculator->sum(&status, 600, 600));
386 }
387 catch (const CalcException& e)
388 {
389 printf("exception %d\n", e.code); // exception 1
390 }
391
392 calculator->dispose();

Callers 1

mainFunction · 0.70

Calls 12

createFactoryFunction · 0.85
createCalculatorMethod · 0.45
sumAndStoreMethod · 0.45
getMemoryMethod · 0.45
setMemoryMethod · 0.45
sumMethod · 0.45
createCalculator2Method · 0.45
copyMemoryMethod · 0.45
copyMemory2Method · 0.45
disposeMethod · 0.45
multiplyMethod · 0.45

Tested by

no test coverage detected