aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2020-01-20 14:06:22 +0100
committerAndreas Schneider <asn@cryptomilk.org>2020-01-20 14:06:22 +0100
commitb2a55b14c6c544a3935c745e89e186cdd98f3e15 (patch)
tree6e00dcb0d45953e9a21f75835037b646d1e94c6e
parent891bedffb96e90edd3fab1cafdc8bdb9c0403f4e (diff)
downloadcmocka-b2a55b14c6c544a3935c745e89e186cdd98f3e15.tar.gz
cmocka-b2a55b14c6c544a3935c745e89e186cdd98f3e15.tar.xz
cmocka-b2a55b14c6c544a3935c745e89e186cdd98f3e15.zip
Update mocking
-rw-r--r--.gitignore3
-rw-r--r--img/Original/unit_test.odgbin0 -> 12221 bytes
-rw-r--r--img/Original/unit_test_mock_function.odgbin0 -> 13138 bytes
-rw-r--r--img/Original/unit_test_mock_function_call.odgbin0 -> 14037 bytes
-rw-r--r--img/Original/unit_test_subfunction.odgbin0 -> 12936 bytes
-rw-r--r--img/Original/unit_test_uptime.odgbin0 -> 12933 bytes
-rw-r--r--img/Original/unit_test_uptime_wont_work.odgbin0 -> 14290 bytes
-rw-r--r--img/Original/unit_test_wrap_read_proc_uptime.odgbin0 -> 14155 bytes
-rw-r--r--img/unit_test.svg173
-rw-r--r--img/unit_test_mock_function.svg241
-rw-r--r--img/unit_test_mock_function_call.svg252
-rw-r--r--img/unit_test_subfunction.svg211
-rw-r--r--img/unit_test_uptime.svg214
-rw-r--r--img/unit_test_uptime_wont_work.svg259
-rw-r--r--img/unit_test_wrap_read_proc_uptime.svg276
-rw-r--r--slides.md183
16 files changed, 1776 insertions, 36 deletions
diff --git a/.gitignore b/.gitignore
index e7b4f21..c1260a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,5 @@ tmp/**
node_modules/
.sass-cache
css/reveal.min.css
-js/reveal.min.js \ No newline at end of file
+js/reveal.min.js
+package-lock.json
diff --git a/img/Original/unit_test.odg b/img/Original/unit_test.odg
new file mode 100644
index 0000000..2e54dda
--- /dev/null
+++ b/img/Original/unit_test.odg
Binary files differ
diff --git a/img/Original/unit_test_mock_function.odg b/img/Original/unit_test_mock_function.odg
new file mode 100644
index 0000000..10f238c
--- /dev/null
+++ b/img/Original/unit_test_mock_function.odg
Binary files differ
diff --git a/img/Original/unit_test_mock_function_call.odg b/img/Original/unit_test_mock_function_call.odg
new file mode 100644
index 0000000..baaf998
--- /dev/null
+++ b/img/Original/unit_test_mock_function_call.odg
Binary files differ
diff --git a/img/Original/unit_test_subfunction.odg b/img/Original/unit_test_subfunction.odg
new file mode 100644
index 0000000..c04b3a9
--- /dev/null
+++ b/img/Original/unit_test_subfunction.odg
Binary files differ
diff --git a/img/Original/unit_test_uptime.odg b/img/Original/unit_test_uptime.odg
new file mode 100644
index 0000000..c29e84b
--- /dev/null
+++ b/img/Original/unit_test_uptime.odg
Binary files differ
diff --git a/img/Original/unit_test_uptime_wont_work.odg b/img/Original/unit_test_uptime_wont_work.odg
new file mode 100644
index 0000000..59c038f
--- /dev/null
+++ b/img/Original/unit_test_uptime_wont_work.odg
Binary files differ
diff --git a/img/Original/unit_test_wrap_read_proc_uptime.odg b/img/Original/unit_test_wrap_read_proc_uptime.odg
new file mode 100644
index 0000000..0c46fbd
--- /dev/null
+++ b/img/Original/unit_test_wrap_read_proc_uptime.odg
Binary files differ
diff --git a/img/unit_test.svg b/img/unit_test.svg
new file mode 100644
index 0000000..084dec3
--- /dev/null
+++ b/img/unit_test.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode="F" horiz-adv-x="1006" d="M 359,1253 L 359,729 1145,729 1145,571 359,571 359,0 168,0 168,1409 1169,1409 1169,1253 359,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2248" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2377" x2="6113" y2="5560" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2377 L 8735,2377 8735,5560 3492,5560 3492,2377 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4189"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4048"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="7994" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8123" x2="6113" y2="11306" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8123 L 8844,8123 8844,11306 3382,11306 3382,8123 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8136 L 3921,8136 C 3829,8136 3738,8160 3658,8206 3578,8253 3512,8319 3465,8399 3419,8479 3395,8570 3395,8662 L 3395,10766 3395,10767 C 3395,10859 3419,10950 3465,11030 3512,11110 3578,11176 3658,11223 3738,11269 3829,11293 3921,11293 L 8304,11293 8305,11293 C 8397,11293 8488,11269 8568,11223 8648,11176 8714,11110 8761,11030 8807,10950 8831,10859 8831,10767 L 8831,8662 8831,8662 8831,8662 C 8831,8570 8807,8479 8761,8399 8714,8319 8648,8253 8568,8206 8488,8160 8397,8136 8305,8136 L 3921,8136 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8136 L 3921,8136 C 3829,8136 3738,8160 3658,8206 3578,8253 3512,8319 3465,8399 3419,8479 3395,8570 3395,8662 L 3395,10766 3395,10767 C 3395,10859 3419,10950 3465,11030 3512,11110 3578,11176 3658,11223 3738,11269 3829,11293 3921,11293 L 8304,11293 8305,11293 C 8397,11293 8488,11269 8568,11223 8648,11176 8714,11110 8761,11030 8807,10950 8831,10859 8831,10767 L 8831,8662 8831,8662 8831,8662 C 8831,8570 8807,8479 8761,8399 8714,8319 8648,8253 8568,8206 8488,8160 8397,8136 8305,8136 L 3921,8136 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4898" y="9224"><tspan fill="rgb(128,128,128)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5848" y="9935"><tspan fill="rgb(128,128,128)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5601" y="10646"><tspan fill="rgb(128,128,128)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,7995 L 3780,7995 C 3688,7995 3597,8019 3517,8065 3437,8112 3371,8178 3324,8258 3278,8338 3254,8429 3254,8521 L 3254,10625 3254,10626 C 3254,10718 3278,10809 3324,10889 3371,10969 3437,11035 3517,11082 3597,11128 3688,11152 3780,11152 L 8163,11152 8164,11152 C 8256,11152 8347,11128 8427,11082 8507,11035 8573,10969 8620,10889 8666,10809 8690,10718 8690,10626 L 8690,8521 8690,8521 8690,8521 C 8690,8429 8666,8338 8620,8258 8573,8178 8507,8112 8427,8065 8347,8019 8256,7995 8164,7995 L 3780,7995 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,7995 L 3780,7995 C 3688,7995 3597,8019 3517,8065 3437,8112 3371,8178 3324,8258 3278,8338 3254,8429 3254,8521 L 3254,10625 3254,10626 C 3254,10718 3278,10809 3324,10889 3371,10969 3437,11035 3517,11082 3597,11128 3688,11152 3780,11152 L 8163,11152 8164,11152 C 8256,11152 8347,11128 8427,11082 8507,11035 8573,10969 8620,10889 8666,10809 8690,10718 8690,10626 L 8690,8521 8690,8521 8690,8521 C 8690,8429 8666,8338 8620,8258 8573,8178 8507,8112 8427,8065 8347,8019 8256,7995 8164,7995 L 3780,7995 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4757" y="9083"><tspan fill="rgb(255,255,255)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5707" y="9794"><tspan fill="rgb(255,255,255)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5460" y="10505"><tspan fill="rgb(255,255,255)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="5742" y="5352" width="461" height="2644"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5405 L 5972,6048 5972,7337"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,7995 L 6202,7307 5743,7307 5972,7995 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_mock_function.svg b/img/unit_test_mock_function.svg
new file mode 100644
index 0000000..71415db
--- /dev/null
+++ b/img/unit_test_mock_function.svg
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="k" horiz-adv-x="901" d="M 816,0 L 450,494 318,385 318,0 138,0 138,1484 318,1484 318,557 793,1082 1004,1082 565,617 1027,0 816,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="f" horiz-adv-x="557" d="M 361,951 L 361,0 181,0 181,951 29,951 29,1082 181,1082 181,1204 C 181,1303 203,1374 246,1417 289,1460 356,1482 445,1482 495,1482 537,1478 572,1470 L 572,1333 C 542,1338 515,1341 492,1341 446,1341 413,1329 392,1306 371,1283 361,1240 361,1179 L 361,1082 572,1082 572,951 361,951 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="b" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 573,-20 505,-5 451,25 396,54 352,102 318,168 L 316,168 C 316,147 315,116 312,74 309,31 307,7 306,0 L 132,0 C 136,36 138,110 138,223 L 138,1484 318,1484 318,1061 C 318,1018 317,967 314,908 L 318,908 C 351,977 396,1027 451,1057 506,1087 574,1102 655,1102 792,1102 892,1056 957,964 1021,872 1053,733 1053,546 Z M 864,540 C 864,691 844,800 804,865 764,930 699,963 609,963 508,963 434,928 388,859 341,790 318,680 318,529 318,387 341,282 386,215 431,147 505,113 607,113 698,113 763,147 804,214 844,281 864,389 864,540 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode="S" horiz-adv-x="1192" d="M 1272,389 C 1272,259 1221,158 1120,87 1018,16 875,-20 690,-20 347,-20 148,99 93,338 L 278,375 C 299,290 345,228 414,189 483,149 578,129 697,129 820,129 916,150 983,193 1050,235 1083,297 1083,379 1083,425 1073,462 1052,491 1031,520 1001,543 963,562 925,581 880,596 827,609 774,622 716,635 652,650 541,675 456,699 399,724 341,749 295,776 262,807 229,837 203,872 186,913 168,954 159,1000 159,1053 159,1174 205,1267 298,1332 390,1397 522,1430 694,1430 854,1430 976,1406 1061,1357 1146,1308 1205,1224 1239,1106 L 1051,1073 C 1030,1148 991,1202 933,1236 875,1269 795,1286 692,1286 579,1286 493,1267 434,1230 375,1193 345,1137 345,1063 345,1020 357,984 380,956 403,927 436,903 479,884 522,864 609,840 738,811 781,801 825,791 868,781 911,770 952,758 991,744 1030,729 1067,712 1102,693 1136,674 1166,650 1191,622 1216,594 1236,561 1251,523 1265,485 1272,440 1272,389 Z"/>
+ <glyph unicode="M" horiz-adv-x="1377" d="M 1366,0 L 1366,940 C 1366,1044 1369,1144 1375,1240 1342,1121 1313,1027 1287,960 L 923,0 789,0 420,960 364,1130 331,1240 334,1129 338,940 338,0 168,0 168,1409 419,1409 794,432 C 807,393 820,351 833,306 845,261 853,228 857,208 862,235 874,275 891,330 908,384 919,418 925,432 L 1293,1409 1538,1409 1538,0 1366,0 Z"/>
+ <glyph unicode="F" horiz-adv-x="1006" d="M 359,1253 L 359,729 1145,729 1145,571 359,571 359,0 168,0 168,1409 1169,1409 1169,1253 359,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2408" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2537" x2="6113" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2537 L 8735,2537 8735,5720 3492,5720 3492,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4349"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4208"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4898" y="9259"><tspan fill="rgb(128,128,128)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5848" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5601" y="10681"><tspan fill="rgb(128,128,128)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4757" y="9118"><tspan fill="rgb(255,255,255)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5707" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5460" y="10540"><tspan fill="rgb(255,255,255)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="5742" y="5512" width="461" height="2519"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5565 L 5972,6208 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15473" y1="8158" x2="15473" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12742,8158 L 18204,8158 18204,11341 12742,11341 12742,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13281,8171 L 13281,8171 C 13189,8171 13098,8195 13018,8241 12938,8288 12872,8354 12825,8434 12779,8514 12755,8605 12755,8697 L 12755,10801 12755,10802 C 12755,10894 12779,10985 12825,11065 12872,11145 12938,11211 13018,11258 13098,11304 13189,11328 13281,11328 L 17664,11328 17665,11328 C 17757,11328 17848,11304 17928,11258 18008,11211 18074,11145 18121,11065 18167,10985 18191,10894 18191,10802 L 18191,8697 18191,8697 18191,8697 C 18191,8605 18167,8514 18121,8434 18074,8354 18008,8288 17928,8241 17848,8195 17757,8171 17665,8171 L 13281,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13281,8171 L 13281,8171 C 13189,8171 13098,8195 13018,8241 12938,8288 12872,8354 12825,8434 12779,8514 12755,8605 12755,8697 L 12755,10801 12755,10802 C 12755,10894 12779,10985 12825,11065 12872,11145 12938,11211 13018,11258 13098,11304 13189,11328 13281,11328 L 17664,11328 17665,11328 C 17757,11328 17848,11304 17928,11258 18008,11211 18074,11145 18121,11065 18167,10985 18191,10894 18191,10802 L 18191,8697 18191,8697 18191,8697 C 18191,8605 18167,8514 18121,8434 18074,8354 18008,8288 17928,8241 17848,8195 17757,8171 17665,8171 L 13281,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13801" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">Subfunction</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(240,59,156)" stroke="none" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13660" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">Subfunction</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="9378" width="3979" height="461"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 L 9332,9608 11957,9608"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12615,9608 L 11927,9379 11927,9838 12615,9608 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id9">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="2408" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask5">
+ <g>
+ <defs>
+ <linearGradient id="gradient5" x1="15473" y1="2537" x2="15473" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient5)" d="M 12742,2537 L 18204,2537 18204,5720 12742,5720 12742,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask5)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13517" y="4349"><tspan fill="rgb(128,128,128)" stroke="none">Mock function</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(58,100,183)" stroke="none" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13376" y="4208"><tspan fill="rgb(255,255,255)" stroke="none">Mock function</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_mock_function_call.svg b/img/unit_test_mock_function_call.svg
new file mode 100644
index 0000000..b9883f4
--- /dev/null
+++ b/img/unit_test_mock_function_call.svg
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="FreeMono embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1640" descent="397"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="1033" d="M 899,0 L 899,135 C 843,79 784,37 721,9 658,-19 593,-33 526,-33 444,-33 379,-8 329,41 279,90 254,155 254,235 L 254,770 143,770 C 107,770 88,784 88,813 88,840 107,854 143,854 L 338,854 338,235 C 338,183 356,140 392,104 428,69 472,51 524,51 661,51 786,113 899,236 L 899,770 748,770 C 709,770 690,784 690,813 690,840 709,854 748,854 L 983,854 983,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 899,0 Z"/>
+ <glyph unicode="t" horiz-adv-x="954" d="M 381,854 L 831,854 C 868,854 887,840 887,813 887,784 868,770 831,770 L 381,770 381,223 C 381,171 401,130 442,98 483,67 539,51 610,51 668,51 729,59 794,75 858,90 911,110 950,133 964,141 975,145 983,145 993,145 1001,141 1010,133 1018,125 1022,115 1022,104 1022,74 976,44 884,13 792,-18 702,-33 614,-33 517,-33 440,-10 383,36 326,81 297,142 297,219 L 297,770 145,770 C 107,770 88,784 88,813 88,840 107,854 145,854 L 297,854 297,1098 C 297,1135 311,1153 340,1153 367,1153 381,1135 381,1098 L 381,854 Z"/>
+ <glyph unicode="s" horiz-adv-x="848" d="M 926,240 C 926,290 902,329 856,356 810,384 754,402 688,412 623,421 557,431 492,442 426,453 370,476 324,510 277,544 254,591 254,651 254,718 287,774 353,817 420,861 503,883 604,883 720,883 814,852 885,789 L 885,797 C 885,835 899,854 928,854 955,854 969,835 969,797 L 969,655 C 969,618 955,600 928,600 903,600 889,616 885,647 879,694 852,731 803,758 754,785 690,799 612,799 536,799 472,784 422,755 371,726 346,689 346,645 346,604 369,573 416,551 462,529 518,514 584,505 649,496 715,485 780,472 846,459 902,433 948,394 995,355 1018,303 1018,238 1018,186 1000,139 966,98 931,57 883,25 822,2 762,-21 693,-33 616,-33 485,-33 378,4 295,78 L 295,55 C 295,48 294,42 293,36 292,30 290,24 288,19 286,15 283,11 280,8 276,5 272,3 268,2 264,1 259,0 254,0 225,0 211,18 211,55 L 211,225 C 211,262 225,281 254,281 281,281 295,266 295,236 L 295,221 C 295,175 326,135 387,101 449,68 523,51 610,51 700,51 776,69 836,104 896,140 926,185 926,240 Z"/>
+ <glyph unicode="r" horiz-adv-x="953" d="M 1065,704 C 1058,704 1037,719 1001,748 966,777 931,791 897,791 851,791 802,775 753,742 703,709 621,641 508,537 L 508,84 875,84 C 911,84 930,70 930,41 930,36 929,31 928,27 926,23 924,19 921,15 917,12 913,9 909,7 905,5 900,3 894,2 888,1 881,0 875,0 L 227,0 C 190,0 172,14 172,43 172,70 190,84 227,84 L 424,84 424,770 270,770 C 233,770 215,784 215,813 215,840 233,854 270,854 L 508,854 508,645 C 602,731 679,791 737,825 796,858 851,875 903,875 958,875 1006,859 1047,826 1087,793 1108,767 1108,748 1108,735 1104,725 1096,717 1087,709 1077,704 1065,704 Z"/>
+ <glyph unicode="n" horiz-adv-x="1006" d="M 653,799 C 629,799 605,797 583,792 560,787 539,780 519,769 499,759 483,750 469,741 455,732 441,719 425,703 409,686 398,674 392,667 386,659 376,647 364,630 351,613 343,604 342,602 L 342,84 434,84 C 471,84 489,70 489,43 489,14 471,0 434,0 L 166,0 C 128,0 109,14 109,43 109,70 128,84 166,84 L 258,84 258,770 188,770 C 152,770 133,784 133,813 133,840 152,854 188,854 L 342,854 342,713 C 401,778 453,823 498,847 543,871 597,883 662,883 753,883 829,856 891,803 952,750 983,684 983,604 L 983,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 829,0 C 793,0 774,14 774,43 774,70 793,84 829,84 L 899,84 899,590 C 899,649 877,698 833,739 788,779 728,799 653,799 Z"/>
+ <glyph unicode="m" horiz-adv-x="1218" d="M 229,854 L 229,747 C 264,797 297,832 330,852 362,873 401,883 444,883 532,883 598,834 643,737 718,834 795,883 875,883 933,883 984,861 1026,817 1068,774 1090,722 1090,662 L 1090,84 1159,84 C 1196,84 1214,70 1214,43 1214,14 1196,0 1159,0 L 1008,0 1008,654 C 1008,692 994,726 967,755 939,784 908,799 872,799 804,799 733,743 659,631 L 659,84 729,84 C 766,84 784,70 784,43 784,14 766,0 729,0 L 578,0 578,647 C 578,687 564,722 538,753 511,784 480,799 444,799 376,799 304,743 229,631 L 229,84 299,84 C 336,84 354,70 354,43 354,38 354,32 352,28 351,23 349,19 345,15 342,12 338,9 334,7 330,5 325,3 318,2 312,1 306,0 299,0 L 76,0 C 40,0 23,14 23,43 23,70 41,84 78,84 L 147,84 147,770 78,770 C 41,770 23,784 23,813 23,840 41,854 78,854 L 229,854 Z"/>
+ <glyph unicode="l" horiz-adv-x="874" d="M 655,1237 L 655,84 983,84 C 1021,84 1040,70 1040,43 1040,38 1040,32 1038,28 1037,23 1035,19 1031,15 1028,12 1024,9 1019,7 1014,5 1009,3 1003,2 996,1 990,0 983,0 L 244,0 C 207,0 188,14 188,43 188,70 207,84 244,84 L 571,84 571,1153 332,1153 C 295,1153 276,1167 276,1196 276,1223 295,1237 332,1237 L 655,1237 Z"/>
+ <glyph unicode="i" horiz-adv-x="874" d="M 655,854 L 655,84 983,84 C 1021,84 1040,70 1040,43 1040,38 1040,32 1038,28 1037,23 1035,19 1031,15 1028,12 1024,9 1019,7 1014,5 1009,3 1003,2 996,1 990,0 983,0 L 244,0 C 207,0 188,14 188,43 188,70 207,84 244,84 L 571,84 571,770 330,770 C 293,770 274,784 274,813 274,840 293,854 330,854 L 655,854 Z M 651,1278 L 651,1065 530,1065 530,1278 651,1278 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 1065,407 L 213,407 C 223,336 246,274 284,220 321,166 370,124 429,95 488,66 554,51 627,51 691,51 756,61 823,82 890,102 944,129 985,161 999,171 1010,176 1018,176 1029,176 1038,172 1046,164 1053,155 1057,146 1057,135 1057,99 1008,63 910,24 813,-14 717,-33 625,-33 535,-33 451,-12 375,31 298,73 238,131 195,204 151,277 129,357 129,444 129,569 174,673 264,757 354,841 465,883 596,883 734,883 847,840 934,753 1021,666 1065,551 1065,407 Z M 213,491 L 979,491 C 963,584 920,659 850,715 780,771 696,799 596,799 496,799 412,771 344,716 276,660 232,585 213,491 Z"/>
+ <glyph unicode="c" horiz-adv-x="953" d="M 1096,180 C 1096,168 1084,150 1061,128 1038,105 1007,82 970,57 932,33 883,11 821,-6 760,-24 697,-33 633,-33 499,-33 389,9 302,94 215,179 172,287 172,418 172,553 216,664 305,752 394,839 507,883 643,883 770,883 877,845 963,770 L 963,797 C 963,835 977,854 1006,854 1033,854 1047,835 1047,797 L 1047,610 C 1047,573 1033,555 1006,555 981,555 967,571 963,604 958,659 925,705 861,743 798,780 723,799 637,799 524,799 432,764 361,693 291,623 256,532 256,420 256,312 292,223 362,154 433,86 525,51 637,51 786,51 913,100 1020,199 1034,212 1046,219 1057,219 1068,219 1077,215 1084,208 1092,200 1096,191 1096,180 Z"/>
+ <glyph unicode="a" horiz-adv-x="980" d="M 256,774 C 256,804 302,830 395,851 488,872 560,883 612,883 708,883 787,859 849,811 911,764 942,703 942,631 L 942,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 858,0 858,137 C 795,78 733,35 670,8 607,-19 539,-33 467,-33 371,-33 294,-9 236,40 177,88 147,151 147,229 147,318 187,390 267,445 347,500 451,528 580,528 660,528 753,514 858,485 L 858,631 C 858,681 835,722 788,753 742,784 681,799 606,799 543,799 479,788 412,766 345,744 306,733 295,733 284,733 275,737 267,746 260,754 256,763 256,774 Z M 858,229 L 858,413 C 776,434 689,444 596,444 488,444 400,424 333,384 265,343 231,291 231,227 231,174 253,131 295,99 337,67 394,51 465,51 537,51 604,65 665,92 725,119 790,165 858,229 Z"/>
+ <glyph unicode="2" horiz-adv-x="821" d="M 213,963 C 213,1024 250,1090 325,1161 399,1231 489,1266 594,1266 694,1266 781,1230 857,1159 933,1088 971,1007 971,914 971,852 953,795 916,741 880,687 800,602 676,486 L 252,90 252,84 895,84 895,158 C 895,195 909,213 938,213 965,213 979,195 979,158 L 979,0 172,0 172,123 655,578 C 751,672 813,740 843,783 872,825 887,869 887,916 887,987 857,1049 799,1102 740,1155 672,1182 594,1182 524,1182 461,1162 404,1121 348,1080 311,1028 295,967 287,940 272,926 252,926 242,926 233,930 225,937 217,945 213,953 213,963 Z"/>
+ <glyph unicode="1" horiz-adv-x="794" d="M 657,1254 L 657,84 942,84 C 979,84 997,70 997,43 997,14 979,0 942,0 L 289,0 C 251,0 231,14 231,43 231,70 251,84 289,84 L 573,84 573,1143 342,912 C 331,901 317,896 299,896 288,896 279,900 271,909 264,918 260,929 260,943 260,955 268,969 283,984 L 553,1254 657,1254 Z"/>
+ <glyph unicode=")" horiz-adv-x="345" d="M 301,-214 C 301,-198 312,-171 334,-131 356,-90 380,-46 407,3 433,51 457,120 479,209 501,297 512,392 512,491 512,702 444,929 307,1173 303,1183 301,1191 301,1196 301,1207 306,1217 314,1225 323,1233 333,1237 344,1237 366,1237 400,1200 445,1125 491,1051 535,952 575,829 616,706 637,592 637,485 637,384 616,273 574,152 533,31 489,-67 442,-142 396,-217 363,-254 342,-255 331,-254 322,-250 313,-242 305,-234 301,-224 301,-214 Z"/>
+ <glyph unicode="(" horiz-adv-x="372" d="M 602,497 C 602,598 623,709 665,830 706,951 750,1049 797,1124 843,1199 877,1237 897,1237 908,1237 918,1233 926,1225 934,1217 938,1207 938,1196 938,1181 927,1153 905,1113 883,1073 859,1028 833,980 806,931 782,863 760,774 738,685 727,591 727,491 727,282 795,55 932,-191 936,-201 938,-208 938,-214 938,-224 934,-234 925,-242 916,-250 906,-254 895,-255 873,-254 839,-217 794,-143 748,-68 705,30 664,153 623,276 602,391 602,497 Z"/>
+ <glyph unicode=" " horiz-adv-x="1217"/>
+ </font>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_2" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="k" horiz-adv-x="901" d="M 816,0 L 450,494 318,385 318,0 138,0 138,1484 318,1484 318,557 793,1082 1004,1082 565,617 1027,0 816,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="f" horiz-adv-x="557" d="M 361,951 L 361,0 181,0 181,951 29,951 29,1082 181,1082 181,1204 C 181,1303 203,1374 246,1417 289,1460 356,1482 445,1482 495,1482 537,1478 572,1470 L 572,1333 C 542,1338 515,1341 492,1341 446,1341 413,1329 392,1306 371,1283 361,1240 361,1179 L 361,1082 572,1082 572,951 361,951 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="b" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 573,-20 505,-5 451,25 396,54 352,102 318,168 L 316,168 C 316,147 315,116 312,74 309,31 307,7 306,0 L 132,0 C 136,36 138,110 138,223 L 138,1484 318,1484 318,1061 C 318,1018 317,967 314,908 L 318,908 C 351,977 396,1027 451,1057 506,1087 574,1102 655,1102 792,1102 892,1056 957,964 1021,872 1053,733 1053,546 Z M 864,540 C 864,691 844,800 804,865 764,930 699,963 609,963 508,963 434,928 388,859 341,790 318,680 318,529 318,387 341,282 386,215 431,147 505,113 607,113 698,113 763,147 804,214 844,281 864,389 864,540 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode="S" horiz-adv-x="1192" d="M 1272,389 C 1272,259 1221,158 1120,87 1018,16 875,-20 690,-20 347,-20 148,99 93,338 L 278,375 C 299,290 345,228 414,189 483,149 578,129 697,129 820,129 916,150 983,193 1050,235 1083,297 1083,379 1083,425 1073,462 1052,491 1031,520 1001,543 963,562 925,581 880,596 827,609 774,622 716,635 652,650 541,675 456,699 399,724 341,749 295,776 262,807 229,837 203,872 186,913 168,954 159,1000 159,1053 159,1174 205,1267 298,1332 390,1397 522,1430 694,1430 854,1430 976,1406 1061,1357 1146,1308 1205,1224 1239,1106 L 1051,1073 C 1030,1148 991,1202 933,1236 875,1269 795,1286 692,1286 579,1286 493,1267 434,1230 375,1193 345,1137 345,1063 345,1020 357,984 380,956 403,927 436,903 479,884 522,864 609,840 738,811 781,801 825,791 868,781 911,770 952,758 991,744 1030,729 1067,712 1102,693 1136,674 1166,650 1191,622 1216,594 1236,561 1251,523 1265,485 1272,440 1272,389 Z"/>
+ <glyph unicode="M" horiz-adv-x="1377" d="M 1366,0 L 1366,940 C 1366,1044 1369,1144 1375,1240 1342,1121 1313,1027 1287,960 L 923,0 789,0 420,960 364,1130 331,1240 334,1129 338,940 338,0 168,0 168,1409 419,1409 794,432 C 807,393 820,351 833,306 845,261 853,228 857,208 862,235 874,275 891,330 908,384 919,418 925,432 L 1293,1409 1538,1409 1538,0 1366,0 Z"/>
+ <glyph unicode="F" horiz-adv-x="1006" d="M 359,1253 L 359,729 1145,729 1145,571 359,571 359,0 168,0 168,1409 1169,1409 1169,1253 359,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2408" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2537" x2="6113" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2537 L 8735,2537 8735,5720 3492,5720 3492,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4349"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4208"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4898" y="9259"><tspan fill="rgb(128,128,128)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5848" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5601" y="10681"><tspan fill="rgb(128,128,128)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4757" y="9118"><tspan fill="rgb(255,255,255)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5707" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5460" y="10540"><tspan fill="rgb(255,255,255)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="4490" y="5512" width="2918" height="2519"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5565 L 5972,6208 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4638" y="6771"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan font-family="FreeMono, monospace" font-size="494px" fill="rgb(0,0,0)" stroke="none">(2)</tspan></tspan></tspan><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="4490" y="7304"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan fill="rgb(0,0,0)" stroke="none">call</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="8029" width="5439" height="3160"/>
+ <path fill="rgb(240,59,156)" fill-opacity="0.6" stroke="rgb(255,255,255)" stroke-opacity="0.6" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13660" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">Subfunction</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="2408" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15473" y1="2537" x2="15473" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12742,2537 L 18204,2537 18204,5720 12742,5720 12742,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13517" y="4349"><tspan fill="rgb(128,128,128)" stroke="none">Mock function</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(58,100,183)" stroke="none" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13376" y="4208"><tspan fill="rgb(255,255,255)" stroke="none">Mock function</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id9">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8527" y="3757" width="4089" height="1348"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8580,3987 L 9223,3987 11957,3987"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12615,3987 L 11927,3758 11927,4217 12615,3987 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="10153" y="4601"><tspan fill="rgb(0,0,0)" stroke="none">(1)</tspan></tspan></tspan><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="8968" y="5096"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan fill="rgb(0,0,0)" stroke="none">instrument</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id10">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="5565" width="6873" height="4097"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 C 13118,9608 14944,8478 15285,6217"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 15332,5565 L 15051,6234 15509,6269 15332,5565 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_subfunction.svg b/img/unit_test_subfunction.svg
new file mode 100644
index 0000000..9eb3cc1
--- /dev/null
+++ b/img/unit_test_subfunction.svg
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="f" horiz-adv-x="557" d="M 361,951 L 361,0 181,0 181,951 29,951 29,1082 181,1082 181,1204 C 181,1303 203,1374 246,1417 289,1460 356,1482 445,1482 495,1482 537,1478 572,1470 L 572,1333 C 542,1338 515,1341 492,1341 446,1341 413,1329 392,1306 371,1283 361,1240 361,1179 L 361,1082 572,1082 572,951 361,951 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="b" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 573,-20 505,-5 451,25 396,54 352,102 318,168 L 316,168 C 316,147 315,116 312,74 309,31 307,7 306,0 L 132,0 C 136,36 138,110 138,223 L 138,1484 318,1484 318,1061 C 318,1018 317,967 314,908 L 318,908 C 351,977 396,1027 451,1057 506,1087 574,1102 655,1102 792,1102 892,1056 957,964 1021,872 1053,733 1053,546 Z M 864,540 C 864,691 844,800 804,865 764,930 699,963 609,963 508,963 434,928 388,859 341,790 318,680 318,529 318,387 341,282 386,215 431,147 505,113 607,113 698,113 763,147 804,214 844,281 864,389 864,540 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode="S" horiz-adv-x="1192" d="M 1272,389 C 1272,259 1221,158 1120,87 1018,16 875,-20 690,-20 347,-20 148,99 93,338 L 278,375 C 299,290 345,228 414,189 483,149 578,129 697,129 820,129 916,150 983,193 1050,235 1083,297 1083,379 1083,425 1073,462 1052,491 1031,520 1001,543 963,562 925,581 880,596 827,609 774,622 716,635 652,650 541,675 456,699 399,724 341,749 295,776 262,807 229,837 203,872 186,913 168,954 159,1000 159,1053 159,1174 205,1267 298,1332 390,1397 522,1430 694,1430 854,1430 976,1406 1061,1357 1146,1308 1205,1224 1239,1106 L 1051,1073 C 1030,1148 991,1202 933,1236 875,1269 795,1286 692,1286 579,1286 493,1267 434,1230 375,1193 345,1137 345,1063 345,1020 357,984 380,956 403,927 436,903 479,884 522,864 609,840 738,811 781,801 825,791 868,781 911,770 952,758 991,744 1030,729 1067,712 1102,693 1136,674 1166,650 1191,622 1216,594 1236,561 1251,523 1265,485 1272,440 1272,389 Z"/>
+ <glyph unicode="F" horiz-adv-x="1006" d="M 359,1253 L 359,729 1145,729 1145,571 359,571 359,0 168,0 168,1409 1169,1409 1169,1253 359,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2248" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2377" x2="6113" y2="5560" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2377 L 8735,2377 8735,5560 3492,5560 3492,2377 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4189"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4048"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4898" y="9259"><tspan fill="rgb(128,128,128)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5848" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5601" y="10681"><tspan fill="rgb(128,128,128)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4757" y="9118"><tspan fill="rgb(255,255,255)" stroke="none">Function</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5707" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">to</tspan></tspan></tspan><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="5460" y="10540"><tspan fill="rgb(255,255,255)" stroke="none">test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="5742" y="5352" width="461" height="2679"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5405 L 5972,6048 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12623" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15483" y1="8158" x2="15483" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12752,8158 L 18214,8158 18214,11341 12752,11341 12752,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13811" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">Subfunction</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(240,59,156)" stroke="none" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="13670" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">Subfunction</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="9378" width="3989" height="461"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 L 9332,9608 11967,9608"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12625,9608 L 11937,9379 11937,9838 12625,9608 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_uptime.svg b/img/unit_test_uptime.svg
new file mode 100644
index 0000000..69d8115
--- /dev/null
+++ b/img/unit_test_uptime.svg
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="r" horiz-adv-x="530" d="M 142,0 L 142,830 C 142,906 140,990 136,1082 L 306,1082 C 311,959 314,886 314,861 L 318,861 C 347,954 380,1017 417,1051 454,1085 507,1102 575,1102 599,1102 623,1099 648,1092 L 648,927 C 624,934 592,937 552,937 477,937 420,905 381,841 342,776 322,684 322,564 L 322,0 142,0 Z"/>
+ <glyph unicode="p" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 488,-20 376,43 319,168 L 314,168 C 317,163 318,106 318,-2 L 318,-425 138,-425 138,861 C 138,972 136,1046 132,1082 L 306,1082 C 307,1079 308,1070 309,1054 310,1037 312,1012 314,978 315,944 316,921 316,908 L 320,908 C 352,975 394,1024 447,1055 500,1086 569,1101 655,1101 788,1101 888,1056 954,967 1020,878 1053,737 1053,546 Z M 864,542 C 864,693 844,800 803,865 762,930 698,962 609,962 538,962 482,947 442,917 401,887 371,840 350,777 329,713 318,630 318,528 318,386 341,281 386,214 431,147 505,113 607,113 696,113 762,146 803,212 844,277 864,387 864,542 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="m" horiz-adv-x="1457" d="M 768,0 L 768,686 C 768,791 754,863 725,903 696,943 645,963 570,963 493,963 433,934 388,875 343,816 321,734 321,627 L 321,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 356,974 400,1027 450,1057 500,1087 561,1102 633,1102 715,1102 780,1086 828,1053 875,1020 908,968 927,897 L 930,897 C 967,970 1013,1022 1066,1054 1119,1086 1183,1102 1258,1102 1367,1102 1447,1072 1497,1013 1546,954 1571,856 1571,721 L 1571,0 1393,0 1393,686 C 1393,791 1379,863 1350,903 1321,943 1270,963 1195,963 1116,963 1055,934 1012,876 968,817 946,734 946,627 L 946,0 768,0 Z"/>
+ <glyph unicode="l" horiz-adv-x="187" d="M 138,0 L 138,1484 318,1484 318,0 138,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="d" horiz-adv-x="927" d="M 821,174 C 788,105 744,55 689,25 634,-5 565,-20 484,-20 347,-20 247,26 183,118 118,210 86,349 86,536 86,913 219,1102 484,1102 566,1102 634,1087 689,1057 744,1027 788,979 821,914 L 823,914 821,1035 821,1484 1001,1484 1001,223 C 1001,110 1003,36 1007,0 L 835,0 C 833,11 831,35 829,74 826,113 825,146 825,174 L 821,174 Z M 275,542 C 275,391 295,282 335,217 375,152 440,119 530,119 632,119 706,154 752,225 798,296 821,405 821,554 821,697 798,802 752,869 706,936 633,969 532,969 441,969 376,936 336,869 295,802 275,693 275,542 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="a" horiz-adv-x="1060" d="M 414,-20 C 305,-20 224,9 169,66 114,123 87,202 87,302 87,414 124,500 198,560 271,620 390,652 554,656 L 797,660 797,719 C 797,807 778,870 741,908 704,946 645,965 565,965 484,965 426,951 389,924 352,897 330,853 323,793 L 135,810 C 166,1005 310,1102 569,1102 705,1102 807,1071 876,1009 945,946 979,856 979,738 L 979,272 C 979,219 986,179 1000,152 1014,125 1041,111 1080,111 1097,111 1117,113 1139,118 L 1139,6 C 1094,-5 1047,-10 1000,-10 933,-10 885,8 855,43 824,78 807,132 803,207 L 797,207 C 751,124 698,66 637,32 576,-3 501,-20 414,-20 Z M 455,115 C 521,115 580,130 631,160 682,190 723,231 753,284 782,336 797,390 797,445 L 797,534 600,530 C 515,529 451,520 408,504 364,488 330,463 307,430 284,397 272,353 272,299 272,240 288,195 320,163 351,131 396,115 455,115 Z"/>
+ <glyph unicode="_" horiz-adv-x="1218" d="M -31,-407 L -31,-277 1162,-277 1162,-407 -31,-407 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2248" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2377" x2="6113" y2="5560" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2377 L 8735,2377 8735,5560 3492,5560 3492,2377 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4189"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4048"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3737" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">calculate_uptime</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3596" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">calculate_uptime</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="5742" y="5352" width="461" height="2679"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5405 L 5972,6048 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12623" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15483" y1="8158" x2="15483" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12752,8158 L 18214,8158 18214,11341 12752,11341 12752,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12932" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">read_proc_uptime</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(240,59,156)" stroke="none" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12791" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">read_proc_uptime</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="9378" width="3989" height="461"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 L 9332,9608 11967,9608"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12625,9608 L 11937,9379 11937,9838 12625,9608 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_uptime_wont_work.svg b/img/unit_test_uptime_wont_work.svg
new file mode 100644
index 0000000..ba62df8
--- /dev/null
+++ b/img/unit_test_uptime_wont_work.svg
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="r" horiz-adv-x="530" d="M 142,0 L 142,830 C 142,906 140,990 136,1082 L 306,1082 C 311,959 314,886 314,861 L 318,861 C 347,954 380,1017 417,1051 454,1085 507,1102 575,1102 599,1102 623,1099 648,1092 L 648,927 C 624,934 592,937 552,937 477,937 420,905 381,841 342,776 322,684 322,564 L 322,0 142,0 Z"/>
+ <glyph unicode="p" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 488,-20 376,43 319,168 L 314,168 C 317,163 318,106 318,-2 L 318,-425 138,-425 138,861 C 138,972 136,1046 132,1082 L 306,1082 C 307,1079 308,1070 309,1054 310,1037 312,1012 314,978 315,944 316,921 316,908 L 320,908 C 352,975 394,1024 447,1055 500,1086 569,1101 655,1101 788,1101 888,1056 954,967 1020,878 1053,737 1053,546 Z M 864,542 C 864,693 844,800 803,865 762,930 698,962 609,962 538,962 482,947 442,917 401,887 371,840 350,777 329,713 318,630 318,528 318,386 341,281 386,214 431,147 505,113 607,113 696,113 762,146 803,212 844,277 864,387 864,542 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="m" horiz-adv-x="1457" d="M 768,0 L 768,686 C 768,791 754,863 725,903 696,943 645,963 570,963 493,963 433,934 388,875 343,816 321,734 321,627 L 321,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 356,974 400,1027 450,1057 500,1087 561,1102 633,1102 715,1102 780,1086 828,1053 875,1020 908,968 927,897 L 930,897 C 967,970 1013,1022 1066,1054 1119,1086 1183,1102 1258,1102 1367,1102 1447,1072 1497,1013 1546,954 1571,856 1571,721 L 1571,0 1393,0 1393,686 C 1393,791 1379,863 1350,903 1321,943 1270,963 1195,963 1116,963 1055,934 1012,876 968,817 946,734 946,627 L 946,0 768,0 Z"/>
+ <glyph unicode="l" horiz-adv-x="187" d="M 138,0 L 138,1484 318,1484 318,0 138,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="d" horiz-adv-x="927" d="M 821,174 C 788,105 744,55 689,25 634,-5 565,-20 484,-20 347,-20 247,26 183,118 118,210 86,349 86,536 86,913 219,1102 484,1102 566,1102 634,1087 689,1057 744,1027 788,979 821,914 L 823,914 821,1035 821,1484 1001,1484 1001,223 C 1001,110 1003,36 1007,0 L 835,0 C 833,11 831,35 829,74 826,113 825,146 825,174 L 821,174 Z M 275,542 C 275,391 295,282 335,217 375,152 440,119 530,119 632,119 706,154 752,225 798,296 821,405 821,554 821,697 798,802 752,869 706,936 633,969 532,969 441,969 376,936 336,869 295,802 275,693 275,542 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="a" horiz-adv-x="1060" d="M 414,-20 C 305,-20 224,9 169,66 114,123 87,202 87,302 87,414 124,500 198,560 271,620 390,652 554,656 L 797,660 797,719 C 797,807 778,870 741,908 704,946 645,965 565,965 484,965 426,951 389,924 352,897 330,853 323,793 L 135,810 C 166,1005 310,1102 569,1102 705,1102 807,1071 876,1009 945,946 979,856 979,738 L 979,272 C 979,219 986,179 1000,152 1014,125 1041,111 1080,111 1097,111 1117,113 1139,118 L 1139,6 C 1094,-5 1047,-10 1000,-10 933,-10 885,8 855,43 824,78 807,132 803,207 L 797,207 C 751,124 698,66 637,32 576,-3 501,-20 414,-20 Z M 455,115 C 521,115 580,130 631,160 682,190 723,231 753,284 782,336 797,390 797,445 L 797,534 600,530 C 515,529 451,520 408,504 364,488 330,463 307,430 284,397 272,353 272,299 272,240 288,195 320,163 351,131 396,115 455,115 Z"/>
+ <glyph unicode="_" horiz-adv-x="1218" d="M -31,-407 L -31,-277 1162,-277 1162,-407 -31,-407 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_2" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="bold" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="’" horiz-adv-x="319" d="M 430,1214 C 430,1133 422,1063 406,1004 389,945 361,887 321,831 L 139,831 C 226,943 270,1049 270,1149 L 143,1149 143,1409 430,1409 430,1214 Z"/>
+ <glyph unicode="w" horiz-adv-x="1641" d="M 1313,0 L 1016,0 844,660 C 836,690 820,764 797,882 L 745,658 571,0 274,0 -6,1082 258,1082 436,255 450,329 475,446 645,1082 946,1082 1112,446 C 1121,411 1135,348 1153,255 L 1181,387 1337,1082 1597,1082 1313,0 Z"/>
+ <glyph unicode="t" horiz-adv-x="662" d="M 420,-18 C 337,-18 274,5 229,50 184,95 162,163 162,254 L 162,892 25,892 25,1082 176,1082 264,1336 440,1336 440,1082 645,1082 645,892 440,892 440,330 C 440,277 450,239 470,214 490,189 521,176 563,176 585,176 616,181 657,190 L 657,16 C 588,-7 509,-18 420,-18 Z"/>
+ <glyph unicode="s" horiz-adv-x="1006" d="M 1055,316 C 1055,211 1012,129 927,70 841,10 722,-20 571,-20 422,-20 309,4 230,51 151,98 98,171 72,270 L 319,307 C 333,256 357,219 392,198 426,177 486,166 571,166 650,166 707,176 743,196 779,216 797,247 797,290 797,325 783,352 754,373 725,393 675,410 606,424 447,455 340,485 285,512 230,539 188,574 159,617 130,660 115,712 115,775 115,878 155,959 235,1017 314,1074 427,1103 573,1103 702,1103 805,1078 884,1028 962,978 1011,906 1030,811 L 781,785 C 773,829 753,862 722,884 691,905 641,916 573,916 506,916 456,908 423,891 390,874 373,845 373,805 373,774 386,749 412,731 437,712 480,697 541,685 626,668 701,650 767,632 832,613 885,591 925,566 964,541 996,508 1020,469 1043,429 1055,378 1055,316 Z"/>
+ <glyph unicode="r" horiz-adv-x="636" d="M 143,0 L 143,828 C 143,887 142,937 141,977 139,1016 137,1051 135,1082 L 403,1082 C 405,1070 408,1034 411,973 414,912 416,871 416,851 L 420,851 C 447,927 472,981 493,1012 514,1043 540,1066 569,1081 598,1096 635,1103 679,1103 715,1103 744,1098 766,1088 L 766,853 C 721,863 681,868 646,868 576,868 522,840 483,783 444,726 424,642 424,531 L 424,0 143,0 Z"/>
+ <glyph unicode="o" horiz-adv-x="1113" d="M 1171,542 C 1171,367 1122,229 1025,130 928,30 793,-20 621,-20 452,-20 320,30 224,130 128,230 80,367 80,542 80,716 128,853 224,953 320,1052 454,1102 627,1102 804,1102 939,1054 1032,958 1125,861 1171,723 1171,542 Z M 877,542 C 877,671 856,764 814,822 772,880 711,909 631,909 460,909 375,787 375,542 375,421 396,330 438,267 479,204 539,172 618,172 791,172 877,295 877,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="1007" d="M 844,0 L 844,607 C 844,797 780,892 651,892 583,892 528,863 487,805 445,746 424,671 424,580 L 424,0 143,0 143,840 C 143,898 142,946 141,983 139,1020 137,1053 135,1082 L 403,1082 C 405,1069 408,1036 411,981 414,926 416,888 416,867 L 420,867 C 458,950 506,1010 563,1047 620,1084 689,1103 768,1103 883,1103 971,1068 1032,997 1093,926 1124,823 1124,687 L 1124,0 844,0 Z"/>
+ <glyph unicode="k" horiz-adv-x="1007" d="M 834,0 L 545,490 424,406 424,0 143,0 143,1484 424,1484 424,634 810,1082 1112,1082 732,660 1141,0 834,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="292" d="M 143,1277 L 143,1484 424,1484 424,1277 143,1277 Z M 143,0 L 143,1082 424,1082 424,0 143,0 Z"/>
+ <glyph unicode="h" horiz-adv-x="1007" d="M 420,866 C 458,949 506,1009 563,1046 620,1083 689,1102 768,1102 883,1102 971,1067 1032,996 1093,925 1124,822 1124,686 L 1124,0 844,0 844,606 C 844,796 780,891 651,891 583,891 528,862 487,804 445,745 424,670 424,579 L 424,0 143,0 143,1484 424,1484 424,1079 C 424,1006 421,935 416,866 L 420,866 Z"/>
+ <glyph unicode="e" horiz-adv-x="1007" d="M 586,-20 C 423,-20 298,28 211,125 124,221 80,361 80,546 80,725 124,862 213,958 302,1054 427,1102 590,1102 745,1102 864,1051 946,948 1028,845 1069,694 1069,495 L 1069,487 375,487 C 375,382 395,302 434,249 473,195 528,168 600,168 699,168 762,211 788,297 L 1053,274 C 976,78 821,-20 586,-20 Z M 586,925 C 520,925 469,902 434,856 398,810 379,746 377,663 L 797,663 C 792,750 771,816 734,860 697,903 648,925 586,925 Z"/>
+ <glyph unicode="d" horiz-adv-x="1033" d="M 844,0 C 841,10 838,35 835,76 831,116 829,149 829,176 L 825,176 C 764,45 649,-20 479,-20 353,-20 256,29 187,128 118,226 84,363 84,540 84,719 120,858 193,956 265,1053 367,1102 500,1102 577,1102 643,1086 699,1054 754,1022 797,974 827,911 L 829,911 827,1089 827,1484 1108,1484 1108,236 C 1108,169 1111,91 1116,0 L 844,0 Z M 831,547 C 831,664 812,754 773,817 734,880 676,911 600,911 525,911 469,881 432,820 395,759 377,665 377,540 377,295 451,172 598,172 672,172 729,205 770,270 811,335 831,427 831,547 Z"/>
+ <glyph unicode="T" horiz-adv-x="1245" d="M 773,1181 L 773,0 478,0 478,1181 23,1181 23,1409 1229,1409 1229,1181 773,1181 Z"/>
+ <glyph unicode="!" horiz-adv-x="319" d="M 455,426 L 225,426 193,1409 487,1409 455,426 Z M 193,0 L 193,270 481,270 481,0 193,0 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2248" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2377" x2="6113" y2="5560" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2377 L 8735,2377 8735,5560 3492,5560 3492,2377 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2390 L 4031,2390 C 3939,2390 3848,2414 3768,2460 3688,2507 3622,2573 3575,2653 3529,2733 3505,2824 3505,2916 L 3505,5020 3505,5021 C 3505,5113 3529,5204 3575,5284 3622,5364 3688,5430 3768,5477 3848,5523 3939,5547 4031,5547 L 8195,5547 8196,5547 C 8288,5547 8379,5523 8459,5477 8539,5430 8605,5364 8652,5284 8698,5204 8722,5113 8722,5021 L 8722,2916 8722,2916 8722,2916 C 8722,2824 8698,2733 8652,2653 8605,2573 8539,2507 8459,2460 8379,2414 8288,2390 8196,2390 L 4031,2390 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4189"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2249 L 3890,2249 C 3798,2249 3707,2273 3627,2319 3547,2366 3481,2432 3434,2512 3388,2592 3364,2683 3364,2775 L 3364,4879 3364,4880 C 3364,4972 3388,5063 3434,5143 3481,5223 3547,5289 3627,5336 3707,5382 3798,5406 3890,5406 L 8054,5406 8055,5406 C 8147,5406 8238,5382 8318,5336 8398,5289 8464,5223 8511,5143 8557,5063 8581,4972 8581,4880 L 8581,2775 8581,2775 8581,2775 C 8581,2683 8557,2592 8511,2512 8464,2432 8398,2366 8318,2319 8238,2273 8147,2249 8055,2249 L 3890,2249 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4048"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3737" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">calculate_uptime</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="3596" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">calculate_uptime</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="5742" y="5352" width="461" height="2679"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5405 L 5972,6048 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12623" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15483" y1="8158" x2="15483" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12752,8158 L 18214,8158 18214,11341 12752,11341 12752,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13291,8171 L 13291,8171 C 13199,8171 13108,8195 13028,8241 12948,8288 12882,8354 12835,8434 12789,8514 12765,8605 12765,8697 L 12765,10801 12765,10802 C 12765,10894 12789,10985 12835,11065 12882,11145 12948,11211 13028,11258 13108,11304 13199,11328 13291,11328 L 17674,11328 17675,11328 C 17767,11328 17858,11304 17938,11258 18018,11211 18084,11145 18131,11065 18177,10985 18201,10894 18201,10802 L 18201,8697 18201,8697 18201,8697 C 18201,8605 18177,8514 18131,8434 18084,8354 18018,8288 17938,8241 17858,8195 17767,8171 17675,8171 L 13291,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12932" y="9970"><tspan fill="rgb(128,128,128)" stroke="none">read_proc_uptime</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(240,59,156)" stroke="none" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13150,8030 L 13150,8030 C 13058,8030 12967,8054 12887,8100 12807,8147 12741,8213 12694,8293 12648,8373 12624,8464 12624,8556 L 12624,10660 12624,10661 C 12624,10753 12648,10844 12694,10924 12741,11004 12807,11070 12887,11117 12967,11163 13058,11187 13150,11187 L 17533,11187 17534,11187 C 17626,11187 17717,11163 17797,11117 17877,11070 17943,11004 17990,10924 18036,10844 18060,10753 18060,10661 L 18060,8556 18060,8556 18060,8556 C 18060,8464 18036,8373 17990,8293 17943,8213 17877,8147 17797,8100 17717,8054 17626,8030 17534,8030 L 13150,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="12791" y="9829"><tspan fill="rgb(255,255,255)" stroke="none">read_proc_uptime</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="9378" width="3989" height="461"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 L 9332,9608 11967,9608"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12625,9608 L 11937,9379 11937,9838 12625,9608 Z"/>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.TextShape">
+ <g id="id9">
+ <rect class="BoundingBox" stroke="none" fill="none" x="624" y="1442" width="19858" height="12834"/>
+ <defs>
+ <mask id="mask5">
+ <g>
+ <defs>
+ <linearGradient id="gradient5" x1="10587" y1="1513" x2="10587" y2="14275" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(26,26,26)"/>
+ <stop offset="0.5" style="stop-color:rgb(26,26,26)"/>
+ <stop offset="1" style="stop-color:rgb(26,26,26)"/>
+ <stop offset="1" style="stop-color:rgb(26,26,26)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient5)" d="M 695,1513 L 20480,1513 20480,14275 695,14275 695,1513 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask5)">
+ <text class="TextShape" transform="rotate(25 2165 3470)"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="2117px" font-weight="700"><tspan class="TextPosition" x="2165" y="3470"><tspan fill="rgb(255,255,255)" stroke="none">This doesn’t work!</tspan></tspan></tspan></text>
+ </g>
+ <text class="TextShape" transform="rotate(25 2094 3399)"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="2117px" font-weight="700"><tspan class="TextPosition" x="2094" y="3399"><tspan fill="rgb(128,0,128)" stroke="none">This doesn’t work!</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/img/unit_test_wrap_read_proc_uptime.svg b/img/unit_test_wrap_read_proc_uptime.svg
new file mode 100644
index 0000000..61a3738
--- /dev/null
+++ b/img/unit_test_wrap_read_proc_uptime.svg
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="210mm" height="297mm" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="21000" height="29700"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="21" y="29" width="20958" height="29641"/>
+ </clipPath>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_1" horiz-adv-x="2048">
+ <font-face font-family="FreeMono embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1640" descent="397"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="1033" d="M 899,0 L 899,135 C 843,79 784,37 721,9 658,-19 593,-33 526,-33 444,-33 379,-8 329,41 279,90 254,155 254,235 L 254,770 143,770 C 107,770 88,784 88,813 88,840 107,854 143,854 L 338,854 338,235 C 338,183 356,140 392,104 428,69 472,51 524,51 661,51 786,113 899,236 L 899,770 748,770 C 709,770 690,784 690,813 690,840 709,854 748,854 L 983,854 983,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 899,0 Z"/>
+ <glyph unicode="t" horiz-adv-x="954" d="M 381,854 L 831,854 C 868,854 887,840 887,813 887,784 868,770 831,770 L 381,770 381,223 C 381,171 401,130 442,98 483,67 539,51 610,51 668,51 729,59 794,75 858,90 911,110 950,133 964,141 975,145 983,145 993,145 1001,141 1010,133 1018,125 1022,115 1022,104 1022,74 976,44 884,13 792,-18 702,-33 614,-33 517,-33 440,-10 383,36 326,81 297,142 297,219 L 297,770 145,770 C 107,770 88,784 88,813 88,840 107,854 145,854 L 297,854 297,1098 C 297,1135 311,1153 340,1153 367,1153 381,1135 381,1098 L 381,854 Z"/>
+ <glyph unicode="s" horiz-adv-x="848" d="M 926,240 C 926,290 902,329 856,356 810,384 754,402 688,412 623,421 557,431 492,442 426,453 370,476 324,510 277,544 254,591 254,651 254,718 287,774 353,817 420,861 503,883 604,883 720,883 814,852 885,789 L 885,797 C 885,835 899,854 928,854 955,854 969,835 969,797 L 969,655 C 969,618 955,600 928,600 903,600 889,616 885,647 879,694 852,731 803,758 754,785 690,799 612,799 536,799 472,784 422,755 371,726 346,689 346,645 346,604 369,573 416,551 462,529 518,514 584,505 649,496 715,485 780,472 846,459 902,433 948,394 995,355 1018,303 1018,238 1018,186 1000,139 966,98 931,57 883,25 822,2 762,-21 693,-33 616,-33 485,-33 378,4 295,78 L 295,55 C 295,48 294,42 293,36 292,30 290,24 288,19 286,15 283,11 280,8 276,5 272,3 268,2 264,1 259,0 254,0 225,0 211,18 211,55 L 211,225 C 211,262 225,281 254,281 281,281 295,266 295,236 L 295,221 C 295,175 326,135 387,101 449,68 523,51 610,51 700,51 776,69 836,104 896,140 926,185 926,240 Z"/>
+ <glyph unicode="r" horiz-adv-x="953" d="M 1065,704 C 1058,704 1037,719 1001,748 966,777 931,791 897,791 851,791 802,775 753,742 703,709 621,641 508,537 L 508,84 875,84 C 911,84 930,70 930,41 930,36 929,31 928,27 926,23 924,19 921,15 917,12 913,9 909,7 905,5 900,3 894,2 888,1 881,0 875,0 L 227,0 C 190,0 172,14 172,43 172,70 190,84 227,84 L 424,84 424,770 270,770 C 233,770 215,784 215,813 215,840 233,854 270,854 L 508,854 508,645 C 602,731 679,791 737,825 796,858 851,875 903,875 958,875 1006,859 1047,826 1087,793 1108,767 1108,748 1108,735 1104,725 1096,717 1087,709 1077,704 1065,704 Z"/>
+ <glyph unicode="n" horiz-adv-x="1006" d="M 653,799 C 629,799 605,797 583,792 560,787 539,780 519,769 499,759 483,750 469,741 455,732 441,719 425,703 409,686 398,674 392,667 386,659 376,647 364,630 351,613 343,604 342,602 L 342,84 434,84 C 471,84 489,70 489,43 489,14 471,0 434,0 L 166,0 C 128,0 109,14 109,43 109,70 128,84 166,84 L 258,84 258,770 188,770 C 152,770 133,784 133,813 133,840 152,854 188,854 L 342,854 342,713 C 401,778 453,823 498,847 543,871 597,883 662,883 753,883 829,856 891,803 952,750 983,684 983,604 L 983,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 829,0 C 793,0 774,14 774,43 774,70 793,84 829,84 L 899,84 899,590 C 899,649 877,698 833,739 788,779 728,799 653,799 Z"/>
+ <glyph unicode="m" horiz-adv-x="1218" d="M 229,854 L 229,747 C 264,797 297,832 330,852 362,873 401,883 444,883 532,883 598,834 643,737 718,834 795,883 875,883 933,883 984,861 1026,817 1068,774 1090,722 1090,662 L 1090,84 1159,84 C 1196,84 1214,70 1214,43 1214,14 1196,0 1159,0 L 1008,0 1008,654 C 1008,692 994,726 967,755 939,784 908,799 872,799 804,799 733,743 659,631 L 659,84 729,84 C 766,84 784,70 784,43 784,14 766,0 729,0 L 578,0 578,647 C 578,687 564,722 538,753 511,784 480,799 444,799 376,799 304,743 229,631 L 229,84 299,84 C 336,84 354,70 354,43 354,38 354,32 352,28 351,23 349,19 345,15 342,12 338,9 334,7 330,5 325,3 318,2 312,1 306,0 299,0 L 76,0 C 40,0 23,14 23,43 23,70 41,84 78,84 L 147,84 147,770 78,770 C 41,770 23,784 23,813 23,840 41,854 78,854 L 229,854 Z"/>
+ <glyph unicode="l" horiz-adv-x="874" d="M 655,1237 L 655,84 983,84 C 1021,84 1040,70 1040,43 1040,38 1040,32 1038,28 1037,23 1035,19 1031,15 1028,12 1024,9 1019,7 1014,5 1009,3 1003,2 996,1 990,0 983,0 L 244,0 C 207,0 188,14 188,43 188,70 207,84 244,84 L 571,84 571,1153 332,1153 C 295,1153 276,1167 276,1196 276,1223 295,1237 332,1237 L 655,1237 Z"/>
+ <glyph unicode="i" horiz-adv-x="874" d="M 655,854 L 655,84 983,84 C 1021,84 1040,70 1040,43 1040,38 1040,32 1038,28 1037,23 1035,19 1031,15 1028,12 1024,9 1019,7 1014,5 1009,3 1003,2 996,1 990,0 983,0 L 244,0 C 207,0 188,14 188,43 188,70 207,84 244,84 L 571,84 571,770 330,770 C 293,770 274,784 274,813 274,840 293,854 330,854 L 655,854 Z M 651,1278 L 651,1065 530,1065 530,1278 651,1278 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 1065,407 L 213,407 C 223,336 246,274 284,220 321,166 370,124 429,95 488,66 554,51 627,51 691,51 756,61 823,82 890,102 944,129 985,161 999,171 1010,176 1018,176 1029,176 1038,172 1046,164 1053,155 1057,146 1057,135 1057,99 1008,63 910,24 813,-14 717,-33 625,-33 535,-33 451,-12 375,31 298,73 238,131 195,204 151,277 129,357 129,444 129,569 174,673 264,757 354,841 465,883 596,883 734,883 847,840 934,753 1021,666 1065,551 1065,407 Z M 213,491 L 979,491 C 963,584 920,659 850,715 780,771 696,799 596,799 496,799 412,771 344,716 276,660 232,585 213,491 Z"/>
+ <glyph unicode="c" horiz-adv-x="953" d="M 1096,180 C 1096,168 1084,150 1061,128 1038,105 1007,82 970,57 932,33 883,11 821,-6 760,-24 697,-33 633,-33 499,-33 389,9 302,94 215,179 172,287 172,418 172,553 216,664 305,752 394,839 507,883 643,883 770,883 877,845 963,770 L 963,797 C 963,835 977,854 1006,854 1033,854 1047,835 1047,797 L 1047,610 C 1047,573 1033,555 1006,555 981,555 967,571 963,604 958,659 925,705 861,743 798,780 723,799 637,799 524,799 432,764 361,693 291,623 256,532 256,420 256,312 292,223 362,154 433,86 525,51 637,51 786,51 913,100 1020,199 1034,212 1046,219 1057,219 1068,219 1077,215 1084,208 1092,200 1096,191 1096,180 Z"/>
+ <glyph unicode="a" horiz-adv-x="980" d="M 256,774 C 256,804 302,830 395,851 488,872 560,883 612,883 708,883 787,859 849,811 911,764 942,703 942,631 L 942,84 1053,84 C 1090,84 1108,70 1108,43 1108,14 1090,0 1053,0 L 858,0 858,137 C 795,78 733,35 670,8 607,-19 539,-33 467,-33 371,-33 294,-9 236,40 177,88 147,151 147,229 147,318 187,390 267,445 347,500 451,528 580,528 660,528 753,514 858,485 L 858,631 C 858,681 835,722 788,753 742,784 681,799 606,799 543,799 479,788 412,766 345,744 306,733 295,733 284,733 275,737 267,746 260,754 256,763 256,774 Z M 858,229 L 858,413 C 776,434 689,444 596,444 488,444 400,424 333,384 265,343 231,291 231,227 231,174 253,131 295,99 337,67 394,51 465,51 537,51 604,65 665,92 725,119 790,165 858,229 Z"/>
+ <glyph unicode="2" horiz-adv-x="821" d="M 213,963 C 213,1024 250,1090 325,1161 399,1231 489,1266 594,1266 694,1266 781,1230 857,1159 933,1088 971,1007 971,914 971,852 953,795 916,741 880,687 800,602 676,486 L 252,90 252,84 895,84 895,158 C 895,195 909,213 938,213 965,213 979,195 979,158 L 979,0 172,0 172,123 655,578 C 751,672 813,740 843,783 872,825 887,869 887,916 887,987 857,1049 799,1102 740,1155 672,1182 594,1182 524,1182 461,1162 404,1121 348,1080 311,1028 295,967 287,940 272,926 252,926 242,926 233,930 225,937 217,945 213,953 213,963 Z"/>
+ <glyph unicode="1" horiz-adv-x="794" d="M 657,1254 L 657,84 942,84 C 979,84 997,70 997,43 997,14 979,0 942,0 L 289,0 C 251,0 231,14 231,43 231,70 251,84 289,84 L 573,84 573,1143 342,912 C 331,901 317,896 299,896 288,896 279,900 271,909 264,918 260,929 260,943 260,955 268,969 283,984 L 553,1254 657,1254 Z"/>
+ <glyph unicode=")" horiz-adv-x="345" d="M 301,-214 C 301,-198 312,-171 334,-131 356,-90 380,-46 407,3 433,51 457,120 479,209 501,297 512,392 512,491 512,702 444,929 307,1173 303,1183 301,1191 301,1196 301,1207 306,1217 314,1225 323,1233 333,1237 344,1237 366,1237 400,1200 445,1125 491,1051 535,952 575,829 616,706 637,592 637,485 637,384 616,273 574,152 533,31 489,-67 442,-142 396,-217 363,-254 342,-255 331,-254 322,-250 313,-242 305,-234 301,-224 301,-214 Z"/>
+ <glyph unicode="(" horiz-adv-x="372" d="M 602,497 C 602,598 623,709 665,830 706,951 750,1049 797,1124 843,1199 877,1237 897,1237 908,1237 918,1233 926,1225 934,1217 938,1207 938,1196 938,1181 927,1153 905,1113 883,1073 859,1028 833,980 806,931 782,863 760,774 738,685 727,591 727,491 727,282 795,55 932,-191 936,-201 938,-208 938,-214 938,-224 934,-234 925,-242 916,-250 906,-254 895,-255 873,-254 839,-217 794,-143 748,-68 705,30 664,153 623,276 602,391 602,497 Z"/>
+ <glyph unicode=" " horiz-adv-x="1217"/>
+ </font>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_2" horiz-adv-x="2048">
+ <font-face font-family="Liberation Sans embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="1852" descent="423"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="w" horiz-adv-x="1509" d="M 1174,0 L 965,0 776,765 740,934 C 734,904 725,861 712,805 699,748 631,480 508,0 L 300,0 -3,1082 175,1082 358,347 C 363,331 377,265 401,149 L 418,223 644,1082 837,1082 1026,339 1072,149 1103,288 1308,1082 1484,1082 1174,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="874" d="M 314,1082 L 314,396 C 314,325 321,269 335,230 349,191 371,162 402,145 433,128 478,119 537,119 624,119 692,149 742,208 792,267 817,350 817,455 L 817,1082 997,1082 997,231 C 997,105 999,28 1003,0 L 833,0 C 832,3 832,12 831,27 830,42 830,59 829,78 828,97 826,132 825,185 L 822,185 C 781,110 733,58 679,27 624,-4 557,-20 476,-20 357,-20 271,10 216,69 161,128 133,225 133,361 L 133,1082 314,1082 Z"/>
+ <glyph unicode="t" horiz-adv-x="531" d="M 554,8 C 495,-8 434,-16 372,-16 228,-16 156,66 156,229 L 156,951 31,951 31,1082 163,1082 216,1324 336,1324 336,1082 536,1082 536,951 336,951 336,268 C 336,216 345,180 362,159 379,138 408,127 450,127 474,127 509,132 554,141 L 554,8 Z"/>
+ <glyph unicode="s" horiz-adv-x="901" d="M 950,299 C 950,197 912,118 835,63 758,8 650,-20 511,-20 376,-20 273,2 200,47 127,91 79,160 57,254 L 216,285 C 231,227 263,185 311,158 359,131 426,117 511,117 602,117 669,131 712,159 754,187 775,229 775,285 775,328 760,362 731,389 702,416 654,438 589,455 L 460,489 C 357,516 283,542 240,568 196,593 162,624 137,661 112,698 100,743 100,796 100,895 135,970 206,1022 276,1073 378,1099 513,1099 632,1099 727,1078 798,1036 868,994 912,927 931,834 L 769,814 C 759,862 732,899 689,925 645,950 586,963 513,963 432,963 372,951 333,926 294,901 275,864 275,814 275,783 283,758 299,738 315,718 339,701 370,687 401,673 467,654 568,629 663,605 732,583 774,563 816,542 849,520 874,495 898,470 917,442 930,410 943,377 950,340 950,299 Z"/>
+ <glyph unicode="r" horiz-adv-x="530" d="M 142,0 L 142,830 C 142,906 140,990 136,1082 L 306,1082 C 311,959 314,886 314,861 L 318,861 C 347,954 380,1017 417,1051 454,1085 507,1102 575,1102 599,1102 623,1099 648,1092 L 648,927 C 624,934 592,937 552,937 477,937 420,905 381,841 342,776 322,684 322,564 L 322,0 142,0 Z"/>
+ <glyph unicode="p" horiz-adv-x="953" d="M 1053,546 C 1053,169 920,-20 655,-20 488,-20 376,43 319,168 L 314,168 C 317,163 318,106 318,-2 L 318,-425 138,-425 138,861 C 138,972 136,1046 132,1082 L 306,1082 C 307,1079 308,1070 309,1054 310,1037 312,1012 314,978 315,944 316,921 316,908 L 320,908 C 352,975 394,1024 447,1055 500,1086 569,1101 655,1101 788,1101 888,1056 954,967 1020,878 1053,737 1053,546 Z M 864,542 C 864,693 844,800 803,865 762,930 698,962 609,962 538,962 482,947 442,917 401,887 371,840 350,777 329,713 318,630 318,528 318,386 341,281 386,214 431,147 505,113 607,113 696,113 762,146 803,212 844,277 864,387 864,542 Z"/>
+ <glyph unicode="o" horiz-adv-x="980" d="M 1053,542 C 1053,353 1011,212 928,119 845,26 724,-20 565,-20 407,-20 288,28 207,125 126,221 86,360 86,542 86,915 248,1102 571,1102 736,1102 858,1057 936,966 1014,875 1053,733 1053,542 Z M 864,542 C 864,691 842,800 798,868 753,935 679,969 574,969 469,969 393,935 346,866 299,797 275,689 275,542 275,399 298,292 345,221 391,149 464,113 563,113 671,113 748,148 795,217 841,286 864,395 864,542 Z"/>
+ <glyph unicode="n" horiz-adv-x="874" d="M 825,0 L 825,686 C 825,757 818,813 804,852 790,891 768,920 737,937 706,954 661,963 602,963 515,963 447,933 397,874 347,815 322,732 322,627 L 322,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 358,972 406,1025 461,1056 515,1087 582,1102 663,1102 782,1102 869,1073 924,1014 979,955 1006,857 1006,721 L 1006,0 825,0 Z"/>
+ <glyph unicode="m" horiz-adv-x="1457" d="M 768,0 L 768,686 C 768,791 754,863 725,903 696,943 645,963 570,963 493,963 433,934 388,875 343,816 321,734 321,627 L 321,0 142,0 142,851 C 142,977 140,1054 136,1082 L 306,1082 C 307,1079 307,1070 308,1055 309,1040 310,1024 311,1005 312,986 313,950 314,897 L 317,897 C 356,974 400,1027 450,1057 500,1087 561,1102 633,1102 715,1102 780,1086 828,1053 875,1020 908,968 927,897 L 930,897 C 967,970 1013,1022 1066,1054 1119,1086 1183,1102 1258,1102 1367,1102 1447,1072 1497,1013 1546,954 1571,856 1571,721 L 1571,0 1393,0 1393,686 C 1393,791 1379,863 1350,903 1321,943 1270,963 1195,963 1116,963 1055,934 1012,876 968,817 946,734 946,627 L 946,0 768,0 Z"/>
+ <glyph unicode="i" horiz-adv-x="187" d="M 137,1312 L 137,1484 317,1484 317,1312 137,1312 Z M 137,0 L 137,1082 317,1082 317,0 137,0 Z"/>
+ <glyph unicode="g" horiz-adv-x="927" d="M 548,-425 C 430,-425 336,-402 266,-356 196,-309 151,-243 131,-158 L 312,-132 C 324,-182 351,-220 392,-248 433,-274 486,-288 553,-288 732,-288 822,-183 822,27 L 822,201 820,201 C 786,132 739,80 680,45 621,10 551,-8 472,-8 339,-8 242,36 180,124 117,212 86,350 86,539 86,730 120,872 187,963 254,1054 355,1099 492,1099 569,1099 635,1082 692,1047 748,1012 791,962 822,897 L 824,897 C 824,917 825,952 828,1001 831,1050 833,1077 836,1082 L 1007,1082 C 1003,1046 1001,971 1001,858 L 1001,31 C 1001,-273 850,-425 548,-425 Z M 822,541 C 822,629 810,705 786,769 762,832 728,881 685,915 641,948 591,965 536,965 444,965 377,932 335,865 293,798 272,690 272,541 272,393 292,287 331,222 370,157 438,125 533,125 590,125 640,142 684,175 728,208 762,256 786,319 810,381 822,455 822,541 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 276,503 C 276,379 302,283 353,216 404,149 479,115 578,115 656,115 719,131 766,162 813,193 844,233 861,281 L 1019,236 C 954,65 807,-20 578,-20 418,-20 296,28 213,123 129,218 87,360 87,548 87,727 129,864 213,959 296,1054 416,1102 571,1102 889,1102 1048,910 1048,527 L 1048,503 276,503 Z M 862,641 C 852,755 823,838 775,891 727,943 658,969 568,969 481,969 412,940 361,882 310,823 282,743 278,641 L 862,641 Z"/>
+ <glyph unicode="d" horiz-adv-x="927" d="M 821,174 C 788,105 744,55 689,25 634,-5 565,-20 484,-20 347,-20 247,26 183,118 118,210 86,349 86,536 86,913 219,1102 484,1102 566,1102 634,1087 689,1057 744,1027 788,979 821,914 L 823,914 821,1035 821,1484 1001,1484 1001,223 C 1001,110 1003,36 1007,0 L 835,0 C 833,11 831,35 829,74 826,113 825,146 825,174 L 821,174 Z M 275,542 C 275,391 295,282 335,217 375,152 440,119 530,119 632,119 706,154 752,225 798,296 821,405 821,554 821,697 798,802 752,869 706,936 633,969 532,969 441,969 376,936 336,869 295,802 275,693 275,542 Z"/>
+ <glyph unicode="c" horiz-adv-x="901" d="M 275,546 C 275,402 298,295 343,226 388,157 457,122 548,122 612,122 666,139 709,174 752,209 778,262 788,334 L 970,322 C 956,218 912,135 837,73 762,11 668,-20 553,-20 402,-20 286,28 207,124 127,219 87,359 87,542 87,724 127,863 207,959 287,1054 402,1102 551,1102 662,1102 754,1073 827,1016 900,959 945,880 964,779 L 779,765 C 770,825 746,873 708,908 670,943 616,961 546,961 451,961 382,929 339,866 296,803 275,696 275,546 Z"/>
+ <glyph unicode="a" horiz-adv-x="1060" d="M 414,-20 C 305,-20 224,9 169,66 114,123 87,202 87,302 87,414 124,500 198,560 271,620 390,652 554,656 L 797,660 797,719 C 797,807 778,870 741,908 704,946 645,965 565,965 484,965 426,951 389,924 352,897 330,853 323,793 L 135,810 C 166,1005 310,1102 569,1102 705,1102 807,1071 876,1009 945,946 979,856 979,738 L 979,272 C 979,219 986,179 1000,152 1014,125 1041,111 1080,111 1097,111 1117,113 1139,118 L 1139,6 C 1094,-5 1047,-10 1000,-10 933,-10 885,8 855,43 824,78 807,132 803,207 L 797,207 C 751,124 698,66 637,32 576,-3 501,-20 414,-20 Z M 455,115 C 521,115 580,130 631,160 682,190 723,231 753,284 782,336 797,390 797,445 L 797,534 600,530 C 515,529 451,520 408,504 364,488 330,463 307,430 284,397 272,353 272,299 272,240 288,195 320,163 351,131 396,115 455,115 Z"/>
+ <glyph unicode="_" horiz-adv-x="1218" d="M -31,-407 L -31,-277 1162,-277 1162,-407 -31,-407 Z"/>
+ <glyph unicode="U" horiz-adv-x="1192" d="M 731,-20 C 616,-20 515,1 429,43 343,85 276,146 229,226 182,306 158,401 158,512 L 158,1409 349,1409 349,528 C 349,399 382,302 447,235 512,168 607,135 730,135 857,135 955,170 1026,239 1096,308 1131,408 1131,541 L 1131,1409 1321,1409 1321,530 C 1321,416 1297,318 1249,235 1200,152 1132,89 1044,46 955,2 851,-20 731,-20 Z"/>
+ <glyph unicode="T" horiz-adv-x="1192" d="M 720,1253 L 720,0 530,0 530,1253 46,1253 46,1409 1204,1409 1204,1253 720,1253 Z"/>
+ <glyph unicode=")" horiz-adv-x="557" d="M 555,528 C 555,335 525,162 465,9 404,-144 311,-289 186,-424 L 12,-424 C 137,-284 229,-136 287,19 345,174 374,344 374,530 374,716 345,887 287,1042 228,1197 137,1345 12,1484 L 186,1484 C 312,1348 405,1203 465,1050 525,896 555,723 555,532 L 555,528 Z"/>
+ <glyph unicode="(" horiz-adv-x="583" d="M 127,532 C 127,725 157,898 218,1051 278,1204 371,1349 496,1484 L 670,1484 C 545,1345 454,1198 396,1042 337,886 308,715 308,530 308,345 337,175 395,20 452,-135 544,-283 670,-424 L 496,-424 C 370,-288 277,-143 217,11 157,164 127,337 127,528 L 127,532 Z"/>
+ <glyph unicode=" " horiz-adv-x="556"/>
+ </font>
+ </defs>
+ <defs>
+ <font id="EmbeddedFont_3" horiz-adv-x="2048">
+ <font-face font-family="Source Code Pro embedded" units-per-em="2048" font-weight="normal" font-style="normal" ascent="2011" descent="556"/>
+ <missing-glyph horiz-adv-x="2048" d="M 0,0 L 2047,0 2047,2047 0,2047 0,0 Z"/>
+ <glyph unicode="u" horiz-adv-x="901" d="M 504,-25 C 657,-25 774,57 875,174 L 883,174 897,0 1034,0 1034,995 866,995 866,305 C 756,176 672,121 557,121 391,121 328,211 328,399 L 328,995 158,995 158,377 C 158,115 266,-25 504,-25 Z"/>
+ <glyph unicode="t" horiz-adv-x="1007" d="M 807,-25 C 932,-25 1028,2 1118,35 L 1081,158 C 1010,131 936,113 842,113 649,113 590,207 590,385 L 590,858 1079,858 1079,995 590,995 590,1315 451,1315 428,995 141,985 141,858 422,858 422,387 C 422,141 516,-25 807,-25 Z"/>
+ <glyph unicode="r" horiz-adv-x="821" d="M 299,0 L 467,0 467,584 C 586,791 727,868 877,868 954,868 991,858 1061,834 L 1100,979 C 1038,1010 977,1020 903,1020 719,1020 563,920 459,760 L 453,760 438,995 299,995 299,0 Z"/>
+ <glyph unicode="p" horiz-adv-x="927" d="M 190,-420 L 358,-420 358,-84 350,104 356,104 C 444,23 561,-25 653,-25 893,-25 1106,174 1106,512 1106,821 963,1020 694,1020 571,1020 442,956 350,868 L 344,868 330,995 190,995 190,-420 Z M 625,117 C 557,117 453,150 358,233 L 358,729 C 461,831 563,879 651,879 850,879 932,731 932,512 932,266 803,117 625,117 Z"/>
+ <glyph unicode="o" horiz-adv-x="1006" d="M 614,-25 C 877,-25 1106,166 1106,496 1106,829 877,1020 614,1020 352,1020 123,829 123,496 123,166 352,-25 614,-25 Z M 614,115 C 424,115 297,268 297,496 297,725 424,881 614,881 805,881 932,725 932,496 932,268 805,115 614,115 Z"/>
+ <glyph unicode="m" horiz-adv-x="1033" d="M 119,0 L 287,0 287,721 C 336,823 381,875 451,875 524,875 553,815 553,700 L 553,0 709,0 709,721 C 762,823 799,875 868,875 942,875 975,815 975,700 L 975,0 1143,0 1143,713 C 1143,911 1061,1020 922,1020 807,1020 745,954 688,848 659,963 598,1020 500,1020 385,1020 324,956 272,864 L 268,864 254,995 119,995 119,0 Z"/>
+ <glyph unicode="l" horiz-adv-x="980" d="M 834,-25 C 942,-25 1008,-4 1100,35 L 1057,160 C 989,129 928,115 870,115 752,115 674,176 674,322 L 674,1458 152,1458 152,1321 506,1321 506,334 C 506,98 623,-25 834,-25 Z"/>
+ <glyph unicode="i" horiz-adv-x="689" d="M 647,0 L 815,0 815,995 184,995 184,858 647,858 647,0 Z M 713,1204 C 788,1204 848,1255 848,1335 848,1413 788,1466 713,1466 637,1466 578,1413 578,1335 578,1255 637,1204 713,1204 Z"/>
+ <glyph unicode="e" horiz-adv-x="980" d="M 676,-25 C 836,-25 963,29 1061,94 L 999,205 C 909,147 815,111 696,111 489,111 330,225 309,451 L 1094,451 C 1098,477 1102,514 1102,553 1102,834 934,1020 647,1020 381,1020 139,823 139,500 139,168 377,-25 676,-25 Z M 651,887 C 821,887 934,786 948,582 L 313,582 C 344,778 487,887 651,887 Z"/>
+ <glyph unicode="d" horiz-adv-x="953" d="M 555,-25 C 678,-25 797,47 879,131 L 885,131 899,0 1038,0 1038,1458 870,1458 870,1075 879,891 872,891 C 786,973 694,1020 575,1020 340,1020 123,819 123,496 123,164 295,-25 555,-25 Z M 590,117 C 406,117 297,260 297,498 297,725 436,879 608,879 694,879 780,846 870,762 L 870,266 C 782,168 688,117 590,117 Z"/>
+ <glyph unicode="c" horiz-adv-x="953" d="M 709,-25 C 856,-25 993,33 1104,131 L 1028,240 C 946,170 844,115 721,115 492,115 338,268 338,496 338,725 496,881 725,881 829,881 915,838 997,766 L 1081,875 C 999,954 881,1020 719,1020 418,1020 164,829 164,496 164,166 397,-25 709,-25 Z"/>
+ <glyph unicode="a" horiz-adv-x="900" d="M 504,-25 C 645,-25 786,49 897,135 L 903,135 918,0 1055,0 1055,610 C 1055,858 924,1020 651,1020 477,1020 309,942 209,877 L 274,762 C 367,819 494,881 623,881 815,881 883,766 887,631 373,590 166,481 166,258 166,80 317,-25 504,-25 Z M 549,111 C 434,111 330,158 330,270 330,401 461,485 887,520 L 887,258 C 774,164 662,111 549,111 Z"/>
+ <glyph unicode="_" horiz-adv-x="1006" d="M 123,-287 L 1106,-287 1106,-141 123,-141 123,-287 Z"/>
+ <glyph unicode=")" horiz-adv-x="583" d="M 342,-360 C 627,-139 803,174 803,569 803,965 627,1278 342,1499 L 250,1413 C 524,1182 651,913 651,569 651,225 524,-43 250,-274 L 342,-360 Z"/>
+ <glyph unicode="(" horiz-adv-x="557" d="M 887,-360 L 979,-274 C 705,-43 578,225 578,569 578,913 705,1182 979,1413 L 887,1499 C 602,1278 426,965 426,569 426,174 602,-139 887,-360 Z"/>
+ </font>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="1560" y="1700" width="18172" height="10235"/>
+ <defs>
+ <mask id="mask1">
+ <g>
+ <defs>
+ <linearGradient id="gradient1" x1="10716" y1="1829" x2="10716" y2="11946" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient1)" d="M 1689,1829 L 19743,1829 19743,11946 1689,11946 1689,1829 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask1)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3383,1842 L 3384,1842 C 3089,1842 2799,1920 2543,2067 2287,2215 2075,2427 1927,2683 1780,2939 1702,3229 1702,3524 L 1702,10251 1702,10251 C 1702,10546 1780,10836 1927,11092 2075,11348 2287,11560 2543,11708 2799,11855 3089,11933 3384,11933 L 18048,11933 18048,11933 C 18343,11933 18633,11855 18889,11708 19145,11560 19357,11348 19505,11092 19652,10836 19730,10546 19730,10251 L 19730,3523 19730,3524 19730,3524 C 19730,3229 19652,2939 19505,2683 19357,2427 19145,2215 18889,2067 18633,1920 18343,1842 18048,1842 L 3383,1842 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="9067" y="3035"><tspan fill="rgb(128,128,128)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(126,210,54)" stroke="none" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3242,1701 L 3243,1701 C 2948,1701 2658,1779 2402,1926 2146,2074 1934,2286 1786,2542 1639,2798 1561,3088 1561,3383 L 1561,10110 1561,10110 C 1561,10405 1639,10695 1786,10951 1934,11207 2146,11419 2402,11567 2658,11714 2948,11792 3243,11792 L 17907,11792 17907,11792 C 18202,11792 18492,11714 18748,11567 19004,11419 19216,11207 19364,10951 19511,10695 19589,10405 19589,10110 L 19589,3382 19589,3383 19589,3383 C 19589,3088 19511,2798 19364,2542 19216,2286 19004,2074 18748,1926 18492,1779 18202,1701 17907,1701 L 3242,1701 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="8926" y="2894"><tspan fill="rgb(255,255,255)" stroke="none">Unit Testing</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id4">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3363" y="2408" width="5361" height="3301"/>
+ <defs>
+ <mask id="mask2">
+ <g>
+ <defs>
+ <linearGradient id="gradient2" x1="6113" y1="2537" x2="6113" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient2)" d="M 3492,2537 L 8735,2537 8735,5720 3492,5720 3492,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask2)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 4031,2550 L 4031,2550 C 3939,2550 3848,2574 3768,2620 3688,2667 3622,2733 3575,2813 3529,2893 3505,2984 3505,3076 L 3505,5180 3505,5181 C 3505,5273 3529,5364 3575,5444 3622,5524 3688,5590 3768,5637 3848,5683 3939,5707 4031,5707 L 8195,5707 8196,5707 C 8288,5707 8379,5683 8459,5637 8539,5590 8605,5524 8652,5444 8698,5364 8722,5273 8722,5181 L 8722,3076 8722,3076 8722,3076 C 8722,2984 8698,2893 8652,2813 8605,2733 8539,2667 8459,2620 8379,2574 8288,2550 8196,2550 L 4031,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4886" y="4349"><tspan fill="rgb(128,128,128)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(67,199,223)" stroke="none" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3890,2409 L 3890,2409 C 3798,2409 3707,2433 3627,2479 3547,2526 3481,2592 3434,2672 3388,2752 3364,2843 3364,2935 L 3364,5039 3364,5040 C 3364,5132 3388,5223 3434,5303 3481,5383 3547,5449 3627,5496 3707,5542 3798,5566 3890,5566 L 8054,5566 8055,5566 C 8147,5566 8238,5542 8318,5496 8398,5449 8464,5383 8511,5303 8557,5223 8581,5132 8581,5040 L 8581,2935 8581,2935 8581,2935 C 8581,2843 8557,2752 8511,2672 8464,2592 8398,2526 8318,2479 8238,2433 8147,2409 8055,2409 L 3890,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4745" y="4208"><tspan fill="rgb(255,255,255)" stroke="none">Unit Test</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id5">
+ <rect class="BoundingBox" stroke="none" fill="none" x="3253" y="8029" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask3">
+ <g>
+ <defs>
+ <linearGradient id="gradient3" x1="6113" y1="8158" x2="6113" y2="11341" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient3)" d="M 3382,8158 L 8844,8158 8844,11341 3382,11341 3382,8158 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask3)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 3921,8171 L 3921,8171 C 3829,8171 3738,8195 3658,8241 3578,8288 3512,8354 3465,8434 3419,8514 3395,8605 3395,8697 L 3395,10801 3395,10802 C 3395,10894 3419,10985 3465,11065 3512,11145 3578,11211 3658,11258 3738,11304 3829,11328 3921,11328 L 8304,11328 8305,11328 C 8397,11328 8488,11304 8568,11258 8648,11211 8714,11145 8761,11065 8807,10985 8831,10894 8831,10802 L 8831,8697 8831,8697 8831,8697 C 8831,8605 8807,8514 8761,8434 8714,8354 8648,8288 8568,8241 8488,8195 8397,8171 8305,8171 L 3921,8171 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Source Code Pro, monospace" font-size="388px" font-weight="400"><tspan class="TextPosition" x="4017" y="9889"><tspan fill="rgb(128,128,128)" stroke="none">calculate_uptime()</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(255,131,66)" stroke="none" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 3780,8030 L 3780,8030 C 3688,8030 3597,8054 3517,8100 3437,8147 3371,8213 3324,8293 3278,8373 3254,8464 3254,8556 L 3254,10660 3254,10661 C 3254,10753 3278,10844 3324,10924 3371,11004 3437,11070 3517,11117 3597,11163 3688,11187 3780,11187 L 8163,11187 8164,11187 C 8256,11187 8347,11163 8427,11117 8507,11070 8573,11004 8620,10924 8666,10844 8690,10753 8690,10661 L 8690,8556 8690,8556 8690,8556 C 8690,8464 8666,8373 8620,8293 8573,8213 8507,8147 8427,8100 8347,8054 8256,8030 8164,8030 L 3780,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Source Code Pro, monospace" font-size="388px" font-weight="400"><tspan class="TextPosition" x="3876" y="9748"><tspan fill="rgb(255,255,255)" stroke="none">calculate_uptime()</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id6">
+ <rect class="BoundingBox" stroke="none" fill="none" x="4490" y="5512" width="2918" height="2519"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 5972,5565 L 5972,6208 5972,7372"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 5972,8030 L 6202,7342 5743,7342 5972,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="635px" font-weight="400"><tspan class="TextPosition" x="4638" y="6771"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan font-family="FreeMono, monospace" font-size="494px" fill="rgb(0,0,0)" stroke="none">(2)</tspan></tspan></tspan><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="4490" y="7304"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan fill="rgb(0,0,0)" stroke="none">call</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id7">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="8029" width="5439" height="3160"/>
+ <path fill="rgb(240,59,156)" fill-opacity="0.6" stroke="rgb(255,255,255)" stroke-opacity="0.6" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,8030 L 13140,8030 C 13048,8030 12957,8054 12877,8100 12797,8147 12731,8213 12684,8293 12638,8373 12614,8464 12614,8556 L 12614,10660 12614,10661 C 12614,10753 12638,10844 12684,10924 12731,11004 12797,11070 12877,11117 12957,11163 13048,11187 13140,11187 L 17523,11187 17524,11187 C 17616,11187 17707,11163 17787,11117 17867,11070 17933,11004 17980,10924 18026,10844 18050,10753 18050,10661 L 18050,8556 18050,8556 18050,8556 C 18050,8464 18026,8373 17980,8293 17933,8213 17867,8147 17787,8100 17707,8054 17616,8030 17524,8030 L 13140,8030 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Source Code Pro, monospace" font-size="388px" font-weight="400"><tspan class="TextPosition" x="13236" y="9748"><tspan fill="rgb(255,255,255)" stroke="none">read_proc_uptime()</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.CustomShape">
+ <g id="id8">
+ <rect class="BoundingBox" stroke="none" fill="none" x="12613" y="2408" width="5580" height="3301"/>
+ <defs>
+ <mask id="mask4">
+ <g>
+ <defs>
+ <linearGradient id="gradient4" x1="15473" y1="2537" x2="15473" y2="5720" gradientUnits="userSpaceOnUse">
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="0.5" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ <stop offset="1" style="stop-color:rgb(77,77,77)"/>
+ </linearGradient>
+ </defs>
+ <path style="fill:url(#gradient4)" d="M 12742,2537 L 18204,2537 18204,5720 12742,5720 12742,2537 Z"/>
+ </g>
+ </mask>
+ </defs>
+ <g style="mask:url(#mask4)">
+ <path fill="rgb(128,128,128)" stroke="none" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <path fill="none" stroke="rgb(128,128,128)" d="M 13281,2550 L 13281,2550 C 13189,2550 13098,2574 13018,2620 12938,2667 12872,2733 12825,2813 12779,2893 12755,2984 12755,3076 L 12755,5180 12755,5181 C 12755,5273 12779,5364 12825,5444 12872,5524 12938,5590 13018,5637 13098,5683 13189,5707 13281,5707 L 17664,5707 17665,5707 C 17757,5707 17848,5683 17928,5637 18008,5590 18074,5524 18121,5444 18167,5364 18191,5273 18191,5181 L 18191,3076 18191,3076 18191,3076 C 18191,2984 18167,2893 18121,2813 18074,2733 18008,2667 17928,2620 17848,2574 17757,2550 17665,2550 L 13281,2550 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="388px" font-weight="400"><tspan class="TextPosition" x="13027" y="4263"><tspan fill="rgb(128,128,128)" stroke="none">__wrap_read_proc_uptime()</tspan></tspan></tspan></text>
+ </g>
+ <path fill="rgb(58,100,183)" stroke="none" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <path fill="none" stroke="rgb(52,101,164)" d="M 13140,2409 L 13140,2409 C 13048,2409 12957,2433 12877,2479 12797,2526 12731,2592 12684,2672 12638,2752 12614,2843 12614,2935 L 12614,5039 12614,5040 C 12614,5132 12638,5223 12684,5303 12731,5383 12797,5449 12877,5496 12957,5542 13048,5566 13140,5566 L 17523,5566 17524,5566 C 17616,5566 17707,5542 17787,5496 17867,5449 17933,5383 17980,5303 18026,5223 18050,5132 18050,5040 L 18050,2935 18050,2935 18050,2935 C 18050,2843 18026,2752 17980,2672 17933,2592 17867,2526 17787,2479 17707,2433 17616,2409 17524,2409 L 13140,2409 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="Liberation Sans, sans-serif" font-size="388px" font-weight="400"><tspan class="TextPosition" x="12886" y="4122"><tspan fill="rgb(255,255,255)" stroke="none">__wrap_read_proc_uptime()</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id9">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8527" y="3757" width="4089" height="1348"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8580,3987 L 9223,3987 11957,3987"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 12615,3987 L 11927,3758 11927,4217 12615,3987 Z"/>
+ <text class="TextShape"><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="10153" y="4601"><tspan fill="rgb(0,0,0)" stroke="none">(1)</tspan></tspan></tspan><tspan class="TextParagraph" font-family="FreeMono, monospace" font-size="494px" font-weight="400"><tspan class="TextPosition" x="8968" y="5096"><tspan fill="rgb(0,0,0)" stroke="none"> </tspan><tspan fill="rgb(0,0,0)" stroke="none">instrument</tspan></tspan></tspan></text>
+ </g>
+ </g>
+ <g class="com.sun.star.drawing.ConnectorShape">
+ <g id="id10">
+ <rect class="BoundingBox" stroke="none" fill="none" x="8637" y="5565" width="6873" height="4097"/>
+ <path fill="none" stroke="rgb(102,102,102)" stroke-width="106" stroke-linejoin="bevel" d="M 8690,9608 C 13118,9608 14944,8478 15285,6217"/>
+ <path fill="rgb(102,102,102)" stroke="none" d="M 15332,5565 L 15051,6234 15509,6269 15332,5565 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/slides.md b/slides.md
index 320c64a..c20db5a 100644
--- a/slides.md
+++ b/slides.md
@@ -499,6 +499,84 @@ note:
---
+## Standard unit test
+
+<img src="img/unit_test.svg" border="0" />
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## An example
+
+Lets test 'uptime'
+
+ ./example/uptime/uptime
+ up 3 days, 24 minutes
+
+<small>Source code be found in the cmocka source code</small>
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## Uptime
+
+consists of two functions
+
+- `calculate_uptime()`
+- `read_proc_uptime()`
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## Uptime
+
+`calculate_uptime()` calls `read_proc_uptime()`
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## Unit test with a subfunction
+
+<img src="img/unit_test_subfunction.svg" border="0" />
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## Uptime example
+
+<img src="img/unit_test_uptime.svg" border="0" />
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+## Uptime example
+
+<img src="img/unit_test_uptime_wont_work.svg" border="0" />
+
+<!-- .slide: class="tetris-two" -->
+
+---
+
+# Why?
+
+- `/proc/uptime` constantly ticks!
+
+<!-- .slide: class="tetris-two center" -->
+
+---
+
+# Solution: We need mocking!
+
+<!-- .slide: class="tetris-two center" -->
+
+---
+
## What is mocking?
Mocking is a way to create instrumented objects that simulate the behavior of real objects.
@@ -506,7 +584,7 @@ Mocking is a way to create instrumented objects that simulate the behavior of re
note:
Mocking is a way to create instrumented objects that simulate the behavior of real objects.
-<!-- .slide: class="tetris-two" -->
+<!-- .slide: class="tetris-two center" -->
---
@@ -526,28 +604,23 @@ It allows to isolate behaviour of complex algorithms.
This is useful if some functions are impractical to incorporate
into the unit test, e.g. randomness, interfaces not available in test env.
-<!-- .slide: class="tetris-two" -->
+<!-- .slide: class="tetris-two center" -->
---
-## Lets test 'uptime'
+## Mocking test
- ./example/uptime/uptime
- up 3 days, 24 minutes
+<img src="img/unit_test_mock_function.svg" border="0" />
<!-- .slide: class="tetris-two" -->
---
-## Standard unit test
-
-<img src="img/Unit_Test.svg" border="0" />
-
----
-
## Mocking test
-<img src="img/Mocking_Test.svg" border="0" />
+<img src="img/unit_test_mock_function_call.svg" border="0" />
+
+<!-- .slide: class="tetris-two" -->
---
@@ -559,6 +632,14 @@ Use a wrapper function for a symbol.
Supported by `ld.bfd`, `ld.gold` and `llvm-ld`
+<!-- .slide: class="tetris-two center" -->
+
+---
+
+## Mocking test
+
+<img src="img/unit_test_wrap_read_proc_uptime.svg" border="0" />
+
<!-- .slide: class="tetris-two" -->
---
@@ -567,11 +648,11 @@ Supported by `ld.bfd`, `ld.gold` and `llvm-ld`
If the function prototype is:
- int uptime(double *uptime_secs, double *idle_secs)
+ int read_proc_uptime(double *uptime_secs, double *idle_secs)
We implement in the the mock function called:
- int __wrap_uptime(double *uptime_secs, double *idle_secs)
+ int __wrap_read_proc_uptime(double *uptime_secs, double *idle_secs)
{
...
}
@@ -582,14 +663,37 @@ We implement in the the mock function called:
## Linker function wrapping
-The symbol to the origial `uptime()` function will be renamed to:
-`__real_uptime`
+Linker renames symbol of
-The `uptime` symbol is rebound to `__wrap_uptime`
+ read_proc_uptime()
-This way we can still call the original function if needed!
+to
-<!-- .slide: class="tetris-two" -->
+ __real_proc_uptime()
+
+<!-- .slide: class="tetris-two center" -->
+
+---
+
+## Linker function wrapping
+
+A function
+
+ proc_uptime()
+
+will be created calling
+
+ __wrap_proc_uptime
+
+<!-- .slide: class="tetris-two center" -->
+
+---
+
+## We still can call the original function in our mock function!
+
+ __real_proc_uptime()
+
+<!-- .slide: class="tetris-two center" -->
---
@@ -624,16 +728,22 @@ See '`man ld.so`'
---
-## Parameter checking
+# Writing mocking functions
- int __wrap_mock(char *name) {
- check_expected(name);
- }
+<!-- .slide: class="tetris-two center" -->
+
+---
- void test_foo(void **state) {
- expect_string(__wrap_mock, name, "wurst");
+## Parameter checking in mocking functions
- foo("wurstbrot");
+ void mytest(void **state) {
+ expect_string(__wrap_mock, food, "wurst");
+
+ myfunction("wurstbrot");
+ }
+
+ int __wrap_mock(char *food) {
+ check_expected(food);
}
https://api.cmocka.org/ -> Checking Parameters
@@ -642,21 +752,21 @@ https://api.cmocka.org/ -> Checking Parameters
---
-## Mocks
-
- int __wrap_mock(char *name) {
- return mock_type(int);
- }
+## Mock Objects
- void test_foo(void **state) {
+ void mytest(void **state) {
int rc;
will_return(__wrap_mock, 0);
- rc = foo("wurstbrot");
+ rc = myfunction("wurstbrot");
assert_return_code(rc, errno);
}
+ int __wrap_mock(char *name) {
+ return mock_type(int);
+ }
+
https://api.cmocka.org/ -> Mock Objects
<!-- .slide: class="tetris-two" -->
@@ -684,7 +794,10 @@ This allows you to check that mock functions are called in the right order!
---
-# How to write a cmocka test in Samba?
+# This is an exercise for you!
-<!-- .slide: class="tetris-three intro center" -->
+Take a look at the cmocka source code:
+
+ ls -l example/mock/uptime/
+<!-- .slide: class="tetris-three center" -->