commit b84cde361430d63a0adfefb4b2d5fd48d5d8f624 Author: Jorens Shtekels Date: Sun Mar 10 13:29:01 2024 +0200 initial commit Src directory with simple project with tests and one library. README. CLang format config file. diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..80d3293 --- /dev/null +++ b/.clang-format @@ -0,0 +1,2 @@ +BasedOnStyle: LLVM +IndentWidth: 4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..123517b --- /dev/null +++ b/.gitignore @@ -0,0 +1,74 @@ +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +# CMake +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps +build + +# Clang +.cache + + +input.txt +output.txt + diff --git a/README.md b/README.md new file mode 100644 index 0000000..1dba532 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# Overview + +## Project + +This is a simple C++ project that includes the function for our collegues to +test. The function (i.e., the main function and the subfunctions used in it) is +located in ``main_lib.cpp``. + +## Additional libraries and executables + +Our library ``Prep`` is concerned with preparation of data prior to the function +call. ``test.cpp`` is a single test file that will contain the tests of our collegues +and our own development tests. GTest is used for tests. + +# Usage + +## Compilation + +Compilation on Linux requires cmake and CXX compiler (e.g., g++). + +```bash +cd src +mkdir build +cd build +cmake ../ +cmake --build . +``` + +Resulting binaries are ``build/main`` - the program and ``build/runtests`` to +run tests specified in ``test.cpp``. + +# TODOS + +- Translate README in Latvian diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..7c52933 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.1...3.28) + +enable_testing() + +project( + Template + VERSION 0.1.0 + LANGUAGES CXX) + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +add_subdirectory(Cppunit) +add_subdirectory(Prep) + +add_executable(main main.cpp) +add_library(mainLib main_lib.cpp main_lib.h) +target_link_libraries(main PUBLIC mainLib) +target_link_libraries(mainLib PUBLIC prepLib) +target_include_directories(main PUBLIC "${PROJECT_BINARY_DIR}" + "${PROJECT_SOURCE_DIR}/Prep") +target_include_directories(mainLib PUBLIC "${PROJECT_BINARY_DIR}" + "${PROJECT_SOURCE_DIR}/Prep") + +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/5376968f6948923e2411081fd9372e71a59d8e77.zip +) +FetchContent_MakeAvailable(googletest) + +add_executable(runtests test.cpp) +target_link_libraries(runtests PUBLIC mainLib gtest gtest_main) +target_include_directories(runtests PUBLIC "${PROJECT_BINARY_DIR}") + +include(GoogleTest) +gtest_discover_tests(runtests) diff --git a/src/Cppunit/CMakeLists.txt b/src/Cppunit/CMakeLists.txt new file mode 100644 index 0000000..3b69119 --- /dev/null +++ b/src/Cppunit/CMakeLists.txt @@ -0,0 +1 @@ +add_library(cppunit cppunit.cpp cppunit.h) diff --git a/src/Cppunit/cppunit.cpp b/src/Cppunit/cppunit.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/Cppunit/cppunit.h b/src/Cppunit/cppunit.h new file mode 100644 index 0000000..1ae1b36 --- /dev/null +++ b/src/Cppunit/cppunit.h @@ -0,0 +1,78 @@ + +#ifndef CPPUNIT_H +#define CPPUNIT_H + +// Required headers, or just use #include +#include +#include +#include +#include +#include + +// CPlusPlusUnit - C++ Unit testing TDD framework (github.com/cppunit/cppunit) +class Cppunit { + public: +#define CHECK(a, b) \ + check(a, b, #a, #b, __FILE__, __LINE__, __FUNCTION__); +#define CHECKT(a) \ + check(a, true, #a, "true", __FILE__, __LINE__, __FUNCTION__); +#define CHECKS(a, b) check(a, b, #a, #b, __FILE__, __LINE__, __FUNCTION__); + typedef const std::string &cs; + int checks, fails; + std::ostringstream serr; + std::istringstream *in; + Cppunit() { checks = fails = 0; } + void test_cin(cs s) { + in = new std::istringstream(s); + std::cin.rdbuf(in->rdbuf()); + } + void fail_hdr(cs stra, cs strb, cs file, int line, cs func) { + serr << "==================================================" + << std::endl; + serr << "FAIL: " << func << std::endl; + serr << "--------------------------------------------------" + << std::endl; + serr << "File \"" << file << "\", line " << line << " in " << func + << std::endl; + serr << " Checking " << stra << " == " << strb << std::endl; + } + template + void check(T a, T b, cs stra, cs strb, cs file, int line, cs func) { + checks++; + if (a == b) { + std::cout << "."; + return; + } + fails++; + std::cout << "F"; + fail_hdr(stra, strb, file, line, func); + serr << " Error: \"" << a << "\" ! = \"" << b << "\"" << std::endl + << std::endl; + } + virtual void single_test() {} + virtual void test_list() { single_test(); } + double dclock() { return double(clock()) / CLOCKS_PER_SEC; } + int status() { + std::cout << std::endl; + if (fails) + std::cout << serr.str(); + std::cout << "--------------------------------------------------" + << std::endl; + std::cout << "Ran " << checks << " checks in " << dclock() << "s" + << std::endl + << std::endl; + if (fails) + std::cout << "FAILED (failures=" << fails << ")"; + else + std::cout << "OK" << std::endl; + return fails > 0; + } + int run() { + std::streambuf *ocin = std::cin.rdbuf(); + test_list(); + std::cin.rdbuf(ocin); + return status(); + } +}; + +#endif // CPPUNIT_H diff --git a/src/Prep/CMakeLists.txt b/src/Prep/CMakeLists.txt new file mode 100644 index 0000000..b5f1b2d --- /dev/null +++ b/src/Prep/CMakeLists.txt @@ -0,0 +1 @@ +add_library(prepLib Prep.cpp Prep.h) diff --git a/src/Prep/Prep.cpp b/src/Prep/Prep.cpp new file mode 100644 index 0000000..4cada7a --- /dev/null +++ b/src/Prep/Prep.cpp @@ -0,0 +1,3 @@ +#include "Prep.h" + +int add(int a, int b) { return a + b; } diff --git a/src/Prep/Prep.h b/src/Prep/Prep.h new file mode 100644 index 0000000..14a0f88 --- /dev/null +++ b/src/Prep/Prep.h @@ -0,0 +1,6 @@ +#ifndef PREP_H +#define PREP_H + +int add(int a, int b); + +#endif diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..6ee3f14 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,7 @@ +#include "main_lib.h" +#include + +int main(int argc, char *argv[]) { + run(); + return EXIT_SUCCESS; +} diff --git a/src/main_lib.cpp b/src/main_lib.cpp new file mode 100644 index 0000000..daea41b --- /dev/null +++ b/src/main_lib.cpp @@ -0,0 +1,7 @@ +#include "main_lib.h" +#include "Prep.h" +#include + +void run() { std::cout << add(2, 2) << std::endl; } + +int functionToTest(int a) { return a * 2; } diff --git a/src/main_lib.h b/src/main_lib.h new file mode 100644 index 0000000..a0bce46 --- /dev/null +++ b/src/main_lib.h @@ -0,0 +1,2 @@ +void run(); +int functionToTest(int); diff --git a/src/memoryCalculations.md b/src/memoryCalculations.md new file mode 100644 index 0000000..d5943b3 --- /dev/null +++ b/src/memoryCalculations.md @@ -0,0 +1,31 @@ +struct Muitnieks { + uint employeeAvailable ID 4b + uint timeToServe 4b +} + +struct Citizen { + uint timeArrived; 4b + uint timeFinish; 4b +} + + + +size for Employee: +Worker count: 99 +Citizen count: 4'000'000 + +99 * 8b + 4'000'000 * 8b = 792b + 32'000'000b = += + + +How to determine the amount of time which can lie about +the queue? + +Maximum time of serving is 100'000 + +Lets say we start serving someone at x: +How can we be sure that no one would be faster? + +It must be 100001 lower than current time, +so if the time will be less by this time there will and +it will we in priority diff --git a/src/publicTests/customs.i1 b/src/publicTests/customs.i1 new file mode 100644 index 0000000..92ab888 --- /dev/null +++ b/src/publicTests/customs.i1 @@ -0,0 +1,2 @@ +1 1 10 10 +X diff --git a/src/publicTests/customs.i2 b/src/publicTests/customs.i2 new file mode 100644 index 0000000..d152171 --- /dev/null +++ b/src/publicTests/customs.i2 @@ -0,0 +1,4 @@ +1 1 10 10 +P 1 +N 2 +X diff --git a/src/publicTests/customs.i3 b/src/publicTests/customs.i3 new file mode 100644 index 0000000..d50754f --- /dev/null +++ b/src/publicTests/customs.i3 @@ -0,0 +1,4 @@ +1 1 10 10 +P 1 +P 2 +X diff --git a/src/publicTests/customs.i4 b/src/publicTests/customs.i4 new file mode 100644 index 0000000..c3a0880 --- /dev/null +++ b/src/publicTests/customs.i4 @@ -0,0 +1,13 @@ +2 1 10 10 +T P 2 21 +P 1 +P 2 +P 3 +P 4 +P 5 +P 6 +P 7 +P 8 +P 9 +P 10 +X diff --git a/src/publicTests/customs.i5 b/src/publicTests/customs.i5 new file mode 100644 index 0000000..a7cc2ca --- /dev/null +++ b/src/publicTests/customs.i5 @@ -0,0 +1,13 @@ +1 5 10 10 +T N 1 5 +T N 3 3 +T N 5 1 +T N 4 2 +T N 2 5 +N 997 +N 1001 +N 1002 +N 1003 +N 1004 +N 1005 +X diff --git a/src/publicTests/customs.i6 b/src/publicTests/customs.i6 new file mode 100644 index 0000000..057fc06 --- /dev/null +++ b/src/publicTests/customs.i6 @@ -0,0 +1,14 @@ +2 3 10 50 +T P 1 7 +T N 2 80 +P 1 +N 2 +N 10 +N 20 +N 30 +N 40 +P 45 +P 50 +P 53 +N 60 +X diff --git a/src/publicTests/customs.i7 b/src/publicTests/customs.i7 new file mode 100644 index 0000000..83d26cf --- /dev/null +++ b/src/publicTests/customs.i7 @@ -0,0 +1,2004 @@ +5 10 51 100 +T P 3 10 +T N 5 20 +P 1 +N 2 +P 3 +N 4 +P 5 +N 6 +P 7 +N 8 +P 9 +N 10 +P 11 +N 12 +P 13 +N 14 +P 15 +N 16 +P 17 +N 18 +P 19 +N 20 +P 21 +N 22 +P 23 +N 24 +P 25 +N 26 +P 27 +N 28 +P 29 +N 30 +P 31 +N 32 +P 33 +N 34 +P 35 +N 36 +P 37 +N 38 +P 39 +N 40 +P 41 +N 42 +P 43 +N 44 +P 45 +N 46 +P 47 +N 48 +P 49 +N 50 +P 51 +N 52 +P 53 +N 54 +P 55 +N 56 +P 57 +N 58 +P 59 +N 60 +P 61 +N 62 +P 63 +N 64 +P 65 +N 66 +P 67 +N 68 +P 69 +N 70 +P 71 +N 72 +P 73 +N 74 +P 75 +N 76 +P 77 +N 78 +P 79 +N 80 +P 81 +N 82 +P 83 +N 84 +P 85 +N 86 +P 87 +N 88 +P 89 +N 90 +P 91 +N 92 +P 93 +N 94 +P 95 +N 96 +P 97 +N 98 +P 99 +N 100 +P 101 +N 102 +P 103 +N 104 +P 105 +N 106 +P 107 +N 108 +P 109 +N 110 +P 111 +N 112 +P 113 +N 114 +P 115 +N 116 +P 117 +N 118 +P 119 +N 120 +P 121 +N 122 +P 123 +N 124 +P 125 +N 126 +P 127 +N 128 +P 129 +N 130 +P 131 +N 132 +P 133 +N 134 +P 135 +N 136 +P 137 +N 138 +P 139 +N 140 +P 141 +N 142 +P 143 +N 144 +P 145 +N 146 +P 147 +N 148 +P 149 +N 150 +P 151 +N 152 +P 153 +N 154 +P 155 +N 156 +P 157 +N 158 +P 159 +N 160 +P 161 +N 162 +P 163 +N 164 +P 165 +N 166 +P 167 +N 168 +P 169 +N 170 +P 171 +N 172 +P 173 +N 174 +P 175 +N 176 +P 177 +N 178 +P 179 +N 180 +P 181 +N 182 +P 183 +N 184 +P 185 +N 186 +P 187 +N 188 +P 189 +N 190 +P 191 +N 192 +P 193 +N 194 +P 195 +N 196 +P 197 +N 198 +P 199 +N 200 +P 201 +N 202 +P 203 +N 204 +P 205 +N 206 +P 207 +N 208 +P 209 +N 210 +P 211 +N 212 +P 213 +N 214 +P 215 +N 216 +P 217 +N 218 +P 219 +N 220 +P 221 +N 222 +P 223 +N 224 +P 225 +N 226 +P 227 +N 228 +P 229 +N 230 +P 231 +N 232 +P 233 +N 234 +P 235 +N 236 +P 237 +N 238 +P 239 +N 240 +P 241 +N 242 +P 243 +N 244 +P 245 +N 246 +P 247 +N 248 +P 249 +N 250 +P 251 +N 252 +P 253 +N 254 +P 255 +N 256 +P 257 +N 258 +P 259 +N 260 +P 261 +N 262 +P 263 +N 264 +P 265 +N 266 +P 267 +N 268 +P 269 +N 270 +P 271 +N 272 +P 273 +N 274 +P 275 +N 276 +P 277 +N 278 +P 279 +N 280 +P 281 +N 282 +P 283 +N 284 +P 285 +N 286 +P 287 +N 288 +P 289 +N 290 +P 291 +N 292 +P 293 +N 294 +P 295 +N 296 +P 297 +N 298 +P 299 +N 300 +P 301 +N 302 +P 303 +N 304 +P 305 +N 306 +P 307 +N 308 +P 309 +N 310 +P 311 +N 312 +P 313 +N 314 +P 315 +N 316 +P 317 +N 318 +P 319 +N 320 +P 321 +N 322 +P 323 +N 324 +P 325 +N 326 +P 327 +N 328 +P 329 +N 330 +P 331 +N 332 +P 333 +N 334 +P 335 +N 336 +P 337 +N 338 +P 339 +N 340 +P 341 +N 342 +P 343 +N 344 +P 345 +N 346 +P 347 +N 348 +P 349 +N 350 +P 351 +N 352 +P 353 +N 354 +P 355 +N 356 +P 357 +N 358 +P 359 +N 360 +P 361 +N 362 +P 363 +N 364 +P 365 +N 366 +P 367 +N 368 +P 369 +N 370 +P 371 +N 372 +P 373 +N 374 +P 375 +N 376 +P 377 +N 378 +P 379 +N 380 +P 381 +N 382 +P 383 +N 384 +P 385 +N 386 +P 387 +N 388 +P 389 +N 390 +P 391 +N 392 +P 393 +N 394 +P 395 +N 396 +P 397 +N 398 +P 399 +N 400 +P 401 +N 402 +P 403 +N 404 +P 405 +N 406 +P 407 +N 408 +P 409 +N 410 +P 411 +N 412 +P 413 +N 414 +P 415 +N 416 +P 417 +N 418 +P 419 +N 420 +P 421 +N 422 +P 423 +N 424 +P 425 +N 426 +P 427 +N 428 +P 429 +N 430 +P 431 +N 432 +P 433 +N 434 +P 435 +N 436 +P 437 +N 438 +P 439 +N 440 +P 441 +N 442 +P 443 +N 444 +P 445 +N 446 +P 447 +N 448 +P 449 +N 450 +P 451 +N 452 +P 453 +N 454 +P 455 +N 456 +P 457 +N 458 +P 459 +N 460 +P 461 +N 462 +P 463 +N 464 +P 465 +N 466 +P 467 +N 468 +P 469 +N 470 +P 471 +N 472 +P 473 +N 474 +P 475 +N 476 +P 477 +N 478 +P 479 +N 480 +P 481 +N 482 +P 483 +N 484 +P 485 +N 486 +P 487 +N 488 +P 489 +N 490 +P 491 +N 492 +P 493 +N 494 +P 495 +N 496 +P 497 +N 498 +P 499 +N 500 +P 501 +N 502 +P 503 +N 504 +P 505 +N 506 +P 507 +N 508 +P 509 +N 510 +P 511 +N 512 +P 513 +N 514 +P 515 +N 516 +P 517 +N 518 +P 519 +N 520 +P 521 +N 522 +P 523 +N 524 +P 525 +N 526 +P 527 +N 528 +P 529 +N 530 +P 531 +N 532 +P 533 +N 534 +P 535 +N 536 +P 537 +N 538 +P 539 +N 540 +P 541 +N 542 +P 543 +N 544 +P 545 +N 546 +P 547 +N 548 +P 549 +N 550 +P 551 +N 552 +P 553 +N 554 +P 555 +N 556 +P 557 +N 558 +P 559 +N 560 +P 561 +N 562 +P 563 +N 564 +P 565 +N 566 +P 567 +N 568 +P 569 +N 570 +P 571 +N 572 +P 573 +N 574 +P 575 +N 576 +P 577 +N 578 +P 579 +N 580 +P 581 +N 582 +P 583 +N 584 +P 585 +N 586 +P 587 +N 588 +P 589 +N 590 +P 591 +N 592 +P 593 +N 594 +P 595 +N 596 +P 597 +N 598 +P 599 +N 600 +P 601 +N 602 +P 603 +N 604 +P 605 +N 606 +P 607 +N 608 +P 609 +N 610 +P 611 +N 612 +P 613 +N 614 +P 615 +N 616 +P 617 +N 618 +P 619 +N 620 +P 621 +N 622 +P 623 +N 624 +P 625 +N 626 +P 627 +N 628 +P 629 +N 630 +P 631 +N 632 +P 633 +N 634 +P 635 +N 636 +P 637 +N 638 +P 639 +N 640 +P 641 +N 642 +P 643 +N 644 +P 645 +N 646 +P 647 +N 648 +P 649 +N 650 +P 651 +N 652 +P 653 +N 654 +P 655 +N 656 +P 657 +N 658 +P 659 +N 660 +P 661 +N 662 +P 663 +N 664 +P 665 +N 666 +P 667 +N 668 +P 669 +N 670 +P 671 +N 672 +P 673 +N 674 +P 675 +N 676 +P 677 +N 678 +P 679 +N 680 +P 681 +N 682 +P 683 +N 684 +P 685 +N 686 +P 687 +N 688 +P 689 +N 690 +P 691 +N 692 +P 693 +N 694 +P 695 +N 696 +P 697 +N 698 +P 699 +N 700 +P 701 +N 702 +P 703 +N 704 +P 705 +N 706 +P 707 +N 708 +P 709 +N 710 +P 711 +N 712 +P 713 +N 714 +P 715 +N 716 +P 717 +N 718 +P 719 +N 720 +P 721 +N 722 +P 723 +N 724 +P 725 +N 726 +P 727 +N 728 +P 729 +N 730 +P 731 +N 732 +P 733 +N 734 +P 735 +N 736 +P 737 +N 738 +P 739 +N 740 +P 741 +N 742 +P 743 +N 744 +P 745 +N 746 +P 747 +N 748 +P 749 +N 750 +P 751 +N 752 +P 753 +N 754 +P 755 +N 756 +P 757 +N 758 +P 759 +N 760 +P 761 +N 762 +P 763 +N 764 +P 765 +N 766 +P 767 +N 768 +P 769 +N 770 +P 771 +N 772 +P 773 +N 774 +P 775 +N 776 +P 777 +N 778 +P 779 +N 780 +P 781 +N 782 +P 783 +N 784 +P 785 +N 786 +P 787 +N 788 +P 789 +N 790 +P 791 +N 792 +P 793 +N 794 +P 795 +N 796 +P 797 +N 798 +P 799 +N 800 +P 801 +N 802 +P 803 +N 804 +P 805 +N 806 +P 807 +N 808 +P 809 +N 810 +P 811 +N 812 +P 813 +N 814 +P 815 +N 816 +P 817 +N 818 +P 819 +N 820 +P 821 +N 822 +P 823 +N 824 +P 825 +N 826 +P 827 +N 828 +P 829 +N 830 +P 831 +N 832 +P 833 +N 834 +P 835 +N 836 +P 837 +N 838 +P 839 +N 840 +P 841 +N 842 +P 843 +N 844 +P 845 +N 846 +P 847 +N 848 +P 849 +N 850 +P 851 +N 852 +P 853 +N 854 +P 855 +N 856 +P 857 +N 858 +P 859 +N 860 +P 861 +N 862 +P 863 +N 864 +P 865 +N 866 +P 867 +N 868 +P 869 +N 870 +P 871 +N 872 +P 873 +N 874 +P 875 +N 876 +P 877 +N 878 +P 879 +N 880 +P 881 +N 882 +P 883 +N 884 +P 885 +N 886 +P 887 +N 888 +P 889 +N 890 +P 891 +N 892 +P 893 +N 894 +P 895 +N 896 +P 897 +N 898 +P 899 +N 900 +P 901 +N 902 +P 903 +N 904 +P 905 +N 906 +P 907 +N 908 +P 909 +N 910 +P 911 +N 912 +P 913 +N 914 +P 915 +N 916 +P 917 +N 918 +P 919 +N 920 +P 921 +N 922 +P 923 +N 924 +P 925 +N 926 +P 927 +N 928 +P 929 +N 930 +P 931 +N 932 +P 933 +N 934 +P 935 +N 936 +P 937 +N 938 +P 939 +N 940 +P 941 +N 942 +P 943 +N 944 +P 945 +N 946 +P 947 +N 948 +P 949 +N 950 +P 951 +N 952 +P 953 +N 954 +P 955 +N 956 +P 957 +N 958 +P 959 +N 960 +P 961 +N 962 +P 963 +N 964 +P 965 +N 966 +P 967 +N 968 +P 969 +N 970 +P 971 +N 972 +P 973 +N 974 +P 975 +N 976 +P 977 +N 978 +P 979 +N 980 +P 981 +N 982 +P 983 +N 984 +P 985 +N 986 +P 987 +N 988 +P 989 +N 990 +P 991 +N 992 +P 993 +N 994 +P 995 +N 996 +P 997 +N 998 +P 999 +N 1000 +P 1001 +N 1002 +P 1003 +N 1004 +P 1005 +N 1006 +P 1007 +N 1008 +P 1009 +N 1010 +P 1011 +N 1012 +P 1013 +N 1014 +P 1015 +N 1016 +P 1017 +N 1018 +P 1019 +N 1020 +P 1021 +N 1022 +P 1023 +N 1024 +P 1025 +N 1026 +P 1027 +N 1028 +P 1029 +N 1030 +P 1031 +N 1032 +P 1033 +N 1034 +P 1035 +N 1036 +P 1037 +N 1038 +P 1039 +N 1040 +P 1041 +N 1042 +P 1043 +N 1044 +P 1045 +N 1046 +P 1047 +N 1048 +P 1049 +N 1050 +P 1051 +N 1052 +P 1053 +N 1054 +P 1055 +N 1056 +P 1057 +N 1058 +P 1059 +N 1060 +P 1061 +N 1062 +P 1063 +N 1064 +P 1065 +N 1066 +P 1067 +N 1068 +P 1069 +N 1070 +P 1071 +N 1072 +P 1073 +N 1074 +P 1075 +N 1076 +P 1077 +N 1078 +P 1079 +N 1080 +P 1081 +N 1082 +P 1083 +N 1084 +P 1085 +N 1086 +P 1087 +N 1088 +P 1089 +N 1090 +P 1091 +N 1092 +P 1093 +N 1094 +P 1095 +N 1096 +P 1097 +N 1098 +P 1099 +N 1100 +P 1101 +N 1102 +P 1103 +N 1104 +P 1105 +N 1106 +P 1107 +N 1108 +P 1109 +N 1110 +P 1111 +N 1112 +P 1113 +N 1114 +P 1115 +N 1116 +P 1117 +N 1118 +P 1119 +N 1120 +P 1121 +N 1122 +P 1123 +N 1124 +P 1125 +N 1126 +P 1127 +N 1128 +P 1129 +N 1130 +P 1131 +N 1132 +P 1133 +N 1134 +P 1135 +N 1136 +P 1137 +N 1138 +P 1139 +N 1140 +P 1141 +N 1142 +P 1143 +N 1144 +P 1145 +N 1146 +P 1147 +N 1148 +P 1149 +N 1150 +P 1151 +N 1152 +P 1153 +N 1154 +P 1155 +N 1156 +P 1157 +N 1158 +P 1159 +N 1160 +P 1161 +N 1162 +P 1163 +N 1164 +P 1165 +N 1166 +P 1167 +N 1168 +P 1169 +N 1170 +P 1171 +N 1172 +P 1173 +N 1174 +P 1175 +N 1176 +P 1177 +N 1178 +P 1179 +N 1180 +P 1181 +N 1182 +P 1183 +N 1184 +P 1185 +N 1186 +P 1187 +N 1188 +P 1189 +N 1190 +P 1191 +N 1192 +P 1193 +N 1194 +P 1195 +N 1196 +P 1197 +N 1198 +P 1199 +N 1200 +P 1201 +N 1202 +P 1203 +N 1204 +P 1205 +N 1206 +P 1207 +N 1208 +P 1209 +N 1210 +P 1211 +N 1212 +P 1213 +N 1214 +P 1215 +N 1216 +P 1217 +N 1218 +P 1219 +N 1220 +P 1221 +N 1222 +P 1223 +N 1224 +P 1225 +N 1226 +P 1227 +N 1228 +P 1229 +N 1230 +P 1231 +N 1232 +P 1233 +N 1234 +P 1235 +N 1236 +P 1237 +N 1238 +P 1239 +N 1240 +P 1241 +N 1242 +P 1243 +N 1244 +P 1245 +N 1246 +P 1247 +N 1248 +P 1249 +N 1250 +P 1251 +N 1252 +P 1253 +N 1254 +P 1255 +N 1256 +P 1257 +N 1258 +P 1259 +N 1260 +P 1261 +N 1262 +P 1263 +N 1264 +P 1265 +N 1266 +P 1267 +N 1268 +P 1269 +N 1270 +P 1271 +N 1272 +P 1273 +N 1274 +P 1275 +N 1276 +P 1277 +N 1278 +P 1279 +N 1280 +P 1281 +N 1282 +P 1283 +N 1284 +P 1285 +N 1286 +P 1287 +N 1288 +P 1289 +N 1290 +P 1291 +N 1292 +P 1293 +N 1294 +P 1295 +N 1296 +P 1297 +N 1298 +P 1299 +N 1300 +P 1301 +N 1302 +P 1303 +N 1304 +P 1305 +N 1306 +P 1307 +N 1308 +P 1309 +N 1310 +P 1311 +N 1312 +P 1313 +N 1314 +P 1315 +N 1316 +P 1317 +N 1318 +P 1319 +N 1320 +P 1321 +N 1322 +P 1323 +N 1324 +P 1325 +N 1326 +P 1327 +N 1328 +P 1329 +N 1330 +P 1331 +N 1332 +P 1333 +N 1334 +P 1335 +N 1336 +P 1337 +N 1338 +P 1339 +N 1340 +P 1341 +N 1342 +P 1343 +N 1344 +P 1345 +N 1346 +P 1347 +N 1348 +P 1349 +N 1350 +P 1351 +N 1352 +P 1353 +N 1354 +P 1355 +N 1356 +P 1357 +N 1358 +P 1359 +N 1360 +P 1361 +N 1362 +P 1363 +N 1364 +P 1365 +N 1366 +P 1367 +N 1368 +P 1369 +N 1370 +P 1371 +N 1372 +P 1373 +N 1374 +P 1375 +N 1376 +P 1377 +N 1378 +P 1379 +N 1380 +P 1381 +N 1382 +P 1383 +N 1384 +P 1385 +N 1386 +P 1387 +N 1388 +P 1389 +N 1390 +P 1391 +N 1392 +P 1393 +N 1394 +P 1395 +N 1396 +P 1397 +N 1398 +P 1399 +N 1400 +P 1401 +N 1402 +P 1403 +N 1404 +P 1405 +N 1406 +P 1407 +N 1408 +P 1409 +N 1410 +P 1411 +N 1412 +P 1413 +N 1414 +P 1415 +N 1416 +P 1417 +N 1418 +P 1419 +N 1420 +P 1421 +N 1422 +P 1423 +N 1424 +P 1425 +N 1426 +P 1427 +N 1428 +P 1429 +N 1430 +P 1431 +N 1432 +P 1433 +N 1434 +P 1435 +N 1436 +P 1437 +N 1438 +P 1439 +N 1440 +P 1441 +N 1442 +P 1443 +N 1444 +P 1445 +N 1446 +P 1447 +N 1448 +P 1449 +N 1450 +P 1451 +N 1452 +P 1453 +N 1454 +P 1455 +N 1456 +P 1457 +N 1458 +P 1459 +N 1460 +P 1461 +N 1462 +P 1463 +N 1464 +P 1465 +N 1466 +P 1467 +N 1468 +P 1469 +N 1470 +P 1471 +N 1472 +P 1473 +N 1474 +P 1475 +N 1476 +P 1477 +N 1478 +P 1479 +N 1480 +P 1481 +N 1482 +P 1483 +N 1484 +P 1485 +N 1486 +P 1487 +N 1488 +P 1489 +N 1490 +P 1491 +N 1492 +P 1493 +N 1494 +P 1495 +N 1496 +P 1497 +N 1498 +P 1499 +N 1500 +P 1501 +N 1502 +P 1503 +N 1504 +P 1505 +N 1506 +P 1507 +N 1508 +P 1509 +N 1510 +P 1511 +N 1512 +P 1513 +N 1514 +P 1515 +N 1516 +P 1517 +N 1518 +P 1519 +N 1520 +P 1521 +N 1522 +P 1523 +N 1524 +P 1525 +N 1526 +P 1527 +N 1528 +P 1529 +N 1530 +P 1531 +N 1532 +P 1533 +N 1534 +P 1535 +N 1536 +P 1537 +N 1538 +P 1539 +N 1540 +P 1541 +N 1542 +P 1543 +N 1544 +P 1545 +N 1546 +P 1547 +N 1548 +P 1549 +N 1550 +P 1551 +N 1552 +P 1553 +N 1554 +P 1555 +N 1556 +P 1557 +N 1558 +P 1559 +N 1560 +P 1561 +N 1562 +P 1563 +N 1564 +P 1565 +N 1566 +P 1567 +N 1568 +P 1569 +N 1570 +P 1571 +N 1572 +P 1573 +N 1574 +P 1575 +N 1576 +P 1577 +N 1578 +P 1579 +N 1580 +P 1581 +N 1582 +P 1583 +N 1584 +P 1585 +N 1586 +P 1587 +N 1588 +P 1589 +N 1590 +P 1591 +N 1592 +P 1593 +N 1594 +P 1595 +N 1596 +P 1597 +N 1598 +P 1599 +N 1600 +P 1601 +N 1602 +P 1603 +N 1604 +P 1605 +N 1606 +P 1607 +N 1608 +P 1609 +N 1610 +P 1611 +N 1612 +P 1613 +N 1614 +P 1615 +N 1616 +P 1617 +N 1618 +P 1619 +N 1620 +P 1621 +N 1622 +P 1623 +N 1624 +P 1625 +N 1626 +P 1627 +N 1628 +P 1629 +N 1630 +P 1631 +N 1632 +P 1633 +N 1634 +P 1635 +N 1636 +P 1637 +N 1638 +P 1639 +N 1640 +P 1641 +N 1642 +P 1643 +N 1644 +P 1645 +N 1646 +P 1647 +N 1648 +P 1649 +N 1650 +P 1651 +N 1652 +P 1653 +N 1654 +P 1655 +N 1656 +P 1657 +N 1658 +P 1659 +N 1660 +P 1661 +N 1662 +P 1663 +N 1664 +P 1665 +N 1666 +P 1667 +N 1668 +P 1669 +N 1670 +P 1671 +N 1672 +P 1673 +N 1674 +P 1675 +N 1676 +P 1677 +N 1678 +P 1679 +N 1680 +P 1681 +N 1682 +P 1683 +N 1684 +P 1685 +N 1686 +P 1687 +N 1688 +P 1689 +N 1690 +P 1691 +N 1692 +P 1693 +N 1694 +P 1695 +N 1696 +P 1697 +N 1698 +P 1699 +N 1700 +P 1701 +N 1702 +P 1703 +N 1704 +P 1705 +N 1706 +P 1707 +N 1708 +P 1709 +N 1710 +P 1711 +N 1712 +P 1713 +N 1714 +P 1715 +N 1716 +P 1717 +N 1718 +P 1719 +N 1720 +P 1721 +N 1722 +P 1723 +N 1724 +P 1725 +N 1726 +P 1727 +N 1728 +P 1729 +N 1730 +P 1731 +N 1732 +P 1733 +N 1734 +P 1735 +N 1736 +P 1737 +N 1738 +P 1739 +N 1740 +P 1741 +N 1742 +P 1743 +N 1744 +P 1745 +N 1746 +P 1747 +N 1748 +P 1749 +N 1750 +P 1751 +N 1752 +P 1753 +N 1754 +P 1755 +N 1756 +P 1757 +N 1758 +P 1759 +N 1760 +P 1761 +N 1762 +P 1763 +N 1764 +P 1765 +N 1766 +P 1767 +N 1768 +P 1769 +N 1770 +P 1771 +N 1772 +P 1773 +N 1774 +P 1775 +N 1776 +P 1777 +N 1778 +P 1779 +N 1780 +P 1781 +N 1782 +P 1783 +N 1784 +P 1785 +N 1786 +P 1787 +N 1788 +P 1789 +N 1790 +P 1791 +N 1792 +P 1793 +N 1794 +P 1795 +N 1796 +P 1797 +N 1798 +P 1799 +N 1800 +P 1801 +N 1802 +P 1803 +N 1804 +P 1805 +N 1806 +P 1807 +N 1808 +P 1809 +N 1810 +P 1811 +N 1812 +P 1813 +N 1814 +P 1815 +N 1816 +P 1817 +N 1818 +P 1819 +N 1820 +P 1821 +N 1822 +P 1823 +N 1824 +P 1825 +N 1826 +P 1827 +N 1828 +P 1829 +N 1830 +P 1831 +N 1832 +P 1833 +N 1834 +P 1835 +N 1836 +P 1837 +N 1838 +P 1839 +N 1840 +P 1841 +N 1842 +P 1843 +N 1844 +P 1845 +N 1846 +P 1847 +N 1848 +P 1849 +N 1850 +P 1851 +N 1852 +P 1853 +N 1854 +P 1855 +N 1856 +P 1857 +N 1858 +P 1859 +N 1860 +P 1861 +N 1862 +P 1863 +N 1864 +P 1865 +N 1866 +P 1867 +N 1868 +P 1869 +N 1870 +P 1871 +N 1872 +P 1873 +N 1874 +P 1875 +N 1876 +P 1877 +N 1878 +P 1879 +N 1880 +P 1881 +N 1882 +P 1883 +N 1884 +P 1885 +N 1886 +P 1887 +N 1888 +P 1889 +N 1890 +P 1891 +N 1892 +P 1893 +N 1894 +P 1895 +N 1896 +P 1897 +N 1898 +P 1899 +N 1900 +P 1901 +N 1902 +P 1903 +N 1904 +P 1905 +N 1906 +P 1907 +N 1908 +P 1909 +N 1910 +P 1911 +N 1912 +P 1913 +N 1914 +P 1915 +N 1916 +P 1917 +N 1918 +P 1919 +N 1920 +P 1921 +N 1922 +P 1923 +N 1924 +P 1925 +N 1926 +P 1927 +N 1928 +P 1929 +N 1930 +P 1931 +N 1932 +P 1933 +N 1934 +P 1935 +N 1936 +P 1937 +N 1938 +P 1939 +N 1940 +P 1941 +N 1942 +P 1943 +N 1944 +P 1945 +N 1946 +P 1947 +N 1948 +P 1949 +N 1950 +P 1951 +N 1952 +P 1953 +N 1954 +P 1955 +N 1956 +P 1957 +N 1958 +P 1959 +N 1960 +P 1961 +N 1962 +P 1963 +N 1964 +P 1965 +N 1966 +P 1967 +N 1968 +P 1969 +N 1970 +P 1971 +N 1972 +P 1973 +N 1974 +P 1975 +N 1976 +P 1977 +N 1978 +P 1979 +N 1980 +P 1981 +N 1982 +P 1983 +N 1984 +P 1985 +N 1986 +P 1987 +N 1988 +P 1989 +N 1990 +P 1991 +N 1992 +P 1993 +N 1994 +P 1995 +N 1996 +P 1997 +N 1998 +P 1999 +N 2000 +X diff --git a/src/publicTests/customs.o1 b/src/publicTests/customs.o1 new file mode 100644 index 0000000..9dafe9b --- /dev/null +++ b/src/publicTests/customs.o1 @@ -0,0 +1 @@ +nothing diff --git a/src/publicTests/customs.o2 b/src/publicTests/customs.o2 new file mode 100644 index 0000000..756eaea --- /dev/null +++ b/src/publicTests/customs.o2 @@ -0,0 +1,2 @@ +1 11 +2 12 diff --git a/src/publicTests/customs.o3 b/src/publicTests/customs.o3 new file mode 100644 index 0000000..8a58558 --- /dev/null +++ b/src/publicTests/customs.o3 @@ -0,0 +1,2 @@ +1 11 +2 21 diff --git a/src/publicTests/customs.o4 b/src/publicTests/customs.o4 new file mode 100644 index 0000000..98ca68c --- /dev/null +++ b/src/publicTests/customs.o4 @@ -0,0 +1,10 @@ +1 11 +3 21 +2 23 +4 31 +6 41 +5 44 +7 51 +9 61 +8 65 +10 71 diff --git a/src/publicTests/customs.o5 b/src/publicTests/customs.o5 new file mode 100644 index 0000000..82718df --- /dev/null +++ b/src/publicTests/customs.o5 @@ -0,0 +1,6 @@ +997 1002 +1001 1006 +1003 1006 +1004 1006 +1005 1006 +1002 1007 diff --git a/src/publicTests/customs.o6 b/src/publicTests/customs.o6 new file mode 100644 index 0000000..a525ecd --- /dev/null +++ b/src/publicTests/customs.o6 @@ -0,0 +1,10 @@ +1 8 +45 52 +2 52 +53 60 +50 60 +20 70 +10 90 +30 102 +40 120 +60 170 diff --git a/src/publicTests/customs.o7 b/src/publicTests/customs.o7 new file mode 100644 index 0000000..89b83fe --- /dev/null +++ b/src/publicTests/customs.o7 @@ -0,0 +1,2000 @@ +5 15 +11 25 +10 30 +13 35 +15 45 +22 50 +1 52 +3 54 +17 55 +7 58 +9 60 +23 65 +24 70 +29 75 +31 85 +26 90 +33 95 +2 102 +19 103 +4 104 +21 105 +35 105 +6 106 +8 108 +25 109 +28 110 +27 111 +12 112 +14 114 +41 115 +16 116 +18 118 +20 120 +47 125 +38 130 +49 135 +51 145 +50 150 +37 154 +53 155 +39 156 +43 160 +45 162 +57 165 +52 170 +65 175 +67 185 +54 190 +69 195 +30 202 +32 204 +55 205 +71 205 +34 206 +59 207 +36 208 +56 210 +61 211 +40 212 +63 213 +42 214 +75 215 +44 216 +46 218 +48 220 +83 225 +66 230 +85 235 +87 245 +78 250 +89 255 +73 256 +77 258 +79 262 +81 264 +91 265 +80 270 +101 275 +103 285 +82 290 +105 295 +58 302 +60 304 +107 305 +62 306 +93 307 +64 308 +95 309 +84 310 +68 312 +97 313 +70 314 +109 315 +99 315 +72 316 +74 318 +76 320 +117 325 +94 330 +121 335 +123 345 +106 350 +125 355 +111 358 +113 360 +115 364 +127 365 +119 366 +108 370 +135 375 +139 385 +110 390 +141 395 +86 402 +88 404 +143 405 +90 406 +92 408 +129 409 +112 410 +131 411 +96 412 +98 414 +145 415 +133 415 +100 416 +137 417 +102 418 +104 420 +151 425 +122 430 +157 435 +159 445 +134 450 +161 455 +147 460 +149 462 +163 465 +153 466 +155 468 +136 470 +169 475 +175 485 +138 490 +177 495 +114 502 +116 504 +179 505 +118 506 +120 508 +140 510 +165 511 +124 512 +167 513 +126 514 +181 515 +128 516 +171 517 +130 518 +173 519 +132 520 +187 525 +150 530 +193 535 +195 545 +162 550 +197 555 +183 562 +185 564 +199 565 +189 568 +191 570 +164 570 +205 575 +211 585 +166 590 +213 595 +142 602 +144 604 +215 605 +146 606 +148 608 +168 610 +152 612 +201 613 +154 614 +203 615 +217 615 +156 616 +158 618 +207 619 +160 620 +209 621 +223 625 +178 630 +229 635 +231 645 +190 650 +233 655 +219 664 +235 665 +221 666 +225 670 +192 670 +227 672 +239 675 +247 685 +194 690 +249 695 +170 702 +172 704 +251 705 +174 706 +176 708 +196 710 +180 712 +182 714 +237 715 +253 715 +184 716 +241 717 +186 718 +188 720 +243 721 +245 723 +257 725 +206 730 +265 735 +267 745 +218 750 +269 755 +271 765 +255 766 +259 768 +220 770 +261 772 +263 774 +273 775 +283 785 +222 790 +285 795 +198 802 +200 804 +287 805 +202 806 +204 808 +224 810 +208 812 +210 814 +289 815 +212 816 +275 817 +214 818 +277 819 +216 820 +279 823 +291 825 +281 825 +234 830 +299 835 +303 845 +246 850 +305 855 +307 865 +293 868 +295 870 +248 870 +297 874 +309 875 +301 876 +317 885 +250 890 +321 895 +226 902 +228 904 +323 905 +230 906 +232 908 +252 910 +236 912 +238 914 +325 915 +240 916 +242 918 +311 919 +244 920 +313 921 +327 925 +315 925 +319 927 +262 930 +333 935 +339 945 +274 950 +341 955 +343 965 +329 970 +276 970 +331 972 +345 975 +335 976 +337 978 +351 985 +278 990 +357 995 +254 1002 +256 1004 +359 1005 +258 1006 +260 1008 +280 1010 +264 1012 +266 1014 +361 1015 +268 1016 +270 1018 +272 1020 +347 1021 +349 1023 +363 1025 +353 1027 +355 1029 +290 1030 +369 1035 +375 1045 +302 1050 +377 1055 +379 1065 +304 1070 +365 1072 +367 1074 +381 1075 +371 1078 +373 1080 +387 1085 +306 1090 +393 1095 +282 1102 +284 1104 +395 1105 +286 1106 +288 1108 +308 1110 +292 1112 +294 1114 +397 1115 +296 1116 +298 1118 +300 1120 +383 1123 +385 1125 +399 1125 +389 1129 +318 1130 +391 1131 +405 1135 +411 1145 +330 1150 +413 1155 +415 1165 +332 1170 +401 1174 +417 1175 +403 1176 +407 1180 +409 1182 +421 1185 +334 1190 +429 1195 +310 1202 +312 1204 +431 1205 +314 1206 +316 1208 +336 1210 +320 1212 +322 1214 +433 1215 +324 1216 +326 1218 +328 1220 +419 1225 +435 1225 +423 1227 +346 1230 +425 1231 +427 1233 +439 1235 +447 1245 +358 1250 +449 1255 +451 1265 +360 1270 +453 1275 +437 1276 +441 1278 +443 1282 +445 1284 +455 1285 +362 1290 +465 1295 +338 1302 +340 1304 +467 1305 +342 1306 +344 1308 +364 1310 +348 1312 +350 1314 +469 1315 +352 1316 +354 1318 +356 1320 +471 1325 +457 1327 +459 1329 +374 1330 +461 1333 +473 1335 +463 1335 +481 1345 +386 1350 +485 1355 +487 1365 +388 1370 +489 1375 +475 1378 +477 1380 +479 1384 +491 1385 +483 1386 +390 1390 +499 1395 +366 1402 +368 1404 +503 1405 +370 1406 +372 1408 +392 1410 +376 1412 +378 1414 +505 1415 +380 1416 +382 1418 +384 1420 +507 1425 +493 1429 +402 1430 +495 1431 +509 1435 +497 1435 +501 1437 +515 1445 +414 1450 +521 1455 +523 1465 +416 1470 +525 1475 +511 1480 +513 1482 +527 1485 +517 1486 +519 1488 +418 1490 +533 1495 +394 1502 +396 1504 +539 1505 +398 1506 +400 1508 +420 1510 +404 1512 +406 1514 +541 1515 +408 1516 +410 1518 +412 1520 +543 1525 +430 1530 +529 1531 +531 1533 +545 1535 +535 1537 +537 1539 +551 1545 +442 1550 +557 1555 +559 1565 +444 1570 +561 1575 +547 1582 +549 1584 +563 1585 +553 1588 +555 1590 +446 1590 +569 1595 +422 1602 +424 1604 +575 1605 +426 1606 +428 1608 +448 1610 +432 1612 +434 1614 +577 1615 +436 1616 +438 1618 +440 1620 +579 1625 +458 1630 +565 1633 +567 1635 +581 1635 +571 1639 +573 1641 +587 1645 +470 1650 +593 1655 +595 1665 +472 1670 +597 1675 +583 1684 +599 1685 +585 1686 +589 1690 +474 1690 +591 1692 +603 1695 +450 1702 +452 1704 +611 1705 +454 1706 +456 1708 +476 1710 +460 1712 +462 1714 +613 1715 +464 1716 +466 1718 +468 1720 +615 1725 +486 1730 +601 1735 +617 1735 +605 1737 +607 1741 +609 1743 +621 1745 +498 1750 +629 1755 +631 1765 +500 1770 +633 1775 +635 1785 +619 1786 +623 1788 +502 1790 +625 1792 +627 1794 +637 1795 +478 1802 +480 1804 +647 1805 +482 1806 +484 1808 +504 1810 +488 1812 +490 1814 +649 1815 +492 1816 +494 1818 +496 1820 +651 1825 +514 1830 +653 1835 +639 1837 +641 1839 +643 1843 +655 1845 +645 1845 +526 1850 +663 1855 +667 1865 +528 1870 +669 1875 +671 1885 +657 1888 +659 1890 +530 1890 +661 1894 +673 1895 +665 1896 +506 1902 +508 1904 +681 1905 +510 1906 +512 1908 +532 1910 +516 1912 +518 1914 +685 1915 +520 1916 +522 1918 +524 1920 +687 1925 +542 1930 +689 1935 +675 1939 +677 1941 +691 1945 +679 1945 +683 1947 +554 1950 +697 1955 +703 1965 +556 1970 +705 1975 +707 1985 +693 1990 +558 1990 +695 1992 +709 1995 +699 1996 +701 1998 +534 2002 +536 2004 +715 2005 +538 2006 +540 2008 +560 2010 +544 2012 +546 2014 +721 2015 +548 2016 +550 2018 +552 2020 +723 2025 +570 2030 +725 2035 +711 2041 +713 2043 +727 2045 +717 2047 +719 2049 +582 2050 +733 2055 +739 2065 +584 2070 +741 2075 +743 2085 +586 2090 +729 2092 +731 2094 +745 2095 +735 2098 +737 2100 +562 2102 +564 2104 +751 2105 +566 2106 +568 2108 +588 2110 +572 2112 +574 2114 +757 2115 +576 2116 +578 2118 +580 2120 +759 2125 +598 2130 +761 2135 +747 2143 +749 2145 +763 2145 +753 2149 +610 2150 +755 2151 +769 2155 +775 2165 +612 2170 +777 2175 +779 2185 +614 2190 +765 2194 +781 2195 +767 2196 +771 2200 +773 2202 +590 2202 +592 2204 +785 2205 +594 2206 +596 2208 +616 2210 +600 2212 +602 2214 +793 2215 +604 2216 +606 2218 +608 2220 +795 2225 +626 2230 +797 2235 +783 2245 +799 2245 +787 2247 +638 2250 +789 2251 +791 2253 +803 2255 +811 2265 +640 2270 +813 2275 +815 2285 +642 2290 +817 2295 +801 2296 +805 2298 +807 2302 +618 2302 +809 2304 +620 2304 +819 2305 +622 2306 +624 2308 +644 2310 +628 2312 +630 2314 +829 2315 +632 2316 +634 2318 +636 2320 +831 2325 +654 2330 +833 2335 +835 2345 +821 2347 +823 2349 +666 2350 +825 2353 +837 2355 +827 2355 +845 2365 +668 2370 +849 2375 +851 2385 +670 2390 +853 2395 +839 2398 +841 2400 +646 2402 +843 2404 +648 2404 +855 2405 +847 2406 +650 2406 +652 2408 +672 2410 +656 2412 +658 2414 +863 2415 +660 2416 +662 2418 +664 2420 +867 2425 +682 2430 +869 2435 +871 2445 +857 2449 +694 2450 +859 2451 +873 2455 +861 2455 +865 2457 +879 2465 +696 2470 +885 2475 +887 2485 +698 2490 +889 2495 +875 2500 +877 2502 +674 2502 +676 2504 +891 2505 +881 2506 +678 2506 +883 2508 +680 2508 +700 2510 +684 2512 +686 2514 +897 2515 +688 2516 +690 2518 +692 2520 +903 2525 +710 2530 +905 2535 +907 2545 +722 2550 +893 2551 +895 2553 +909 2555 +899 2557 +901 2559 +915 2565 +724 2570 +921 2575 +923 2585 +726 2590 +925 2595 +911 2602 +702 2602 +913 2604 +704 2604 +927 2605 +706 2606 +917 2608 +708 2608 +919 2610 +728 2610 +712 2612 +714 2614 +933 2615 +716 2616 +718 2618 +720 2620 +939 2625 +738 2630 +941 2635 +943 2645 +750 2650 +929 2653 +931 2655 +945 2655 +935 2659 +937 2661 +951 2665 +752 2670 +957 2675 +959 2685 +754 2690 +961 2695 +730 2702 +947 2704 +732 2704 +963 2705 +949 2706 +734 2706 +736 2708 +953 2710 +756 2710 +955 2712 +740 2712 +742 2714 +967 2715 +744 2716 +746 2718 +748 2720 +975 2725 +766 2730 +977 2735 +979 2745 +778 2750 +965 2755 +981 2755 +969 2757 +971 2761 +973 2763 +985 2765 +780 2770 +993 2775 +995 2785 +782 2790 +997 2795 +758 2802 +760 2804 +999 2805 +983 2806 +762 2806 +987 2808 +764 2808 +784 2810 +989 2812 +768 2812 +991 2814 +770 2814 +1001 2815 +772 2816 +774 2818 +776 2820 +1011 2825 +794 2830 +1013 2835 +1015 2845 +806 2850 +1017 2855 +1003 2857 +1005 2859 +1007 2863 +1019 2865 +1009 2865 +808 2870 +1027 2875 +1031 2885 +810 2890 +1033 2895 +786 2902 +788 2904 +1035 2905 +790 2906 +1021 2908 +792 2908 +1023 2910 +812 2910 +796 2912 +1025 2914 +798 2914 +1037 2915 +1029 2916 +800 2916 +802 2918 +804 2920 +1045 2925 +822 2930 +1049 2935 +1051 2945 +834 2950 +1053 2955 +1039 2959 +1041 2961 +1055 2965 +1043 2965 +1047 2967 +836 2970 +1061 2975 +1067 2985 +838 2990 +1069 2995 +814 3002 +816 3004 +1071 3005 +818 3006 +820 3008 +1057 3010 +840 3010 +1059 3012 +824 3012 +826 3014 +1073 3015 +1063 3016 +828 3016 +1065 3018 +830 3018 +832 3020 +1079 3025 +850 3030 +1085 3035 +1087 3045 +862 3050 +1089 3055 +1075 3061 +1077 3063 +1091 3065 +1081 3067 +1083 3069 +864 3070 +1097 3075 +1103 3085 +866 3090 +1105 3095 +842 3102 +844 3104 +1107 3105 +846 3106 +848 3108 +868 3110 +1093 3112 +852 3112 +1095 3114 +854 3114 +1109 3115 +856 3116 +1099 3118 +858 3118 +1101 3120 +860 3120 +1115 3125 +878 3130 +1121 3135 +1123 3145 +890 3150 +1125 3155 +1111 3163 +1113 3165 +1127 3165 +1117 3169 +892 3170 +1119 3171 +1133 3175 +1139 3185 +894 3190 +1141 3195 +870 3202 +872 3204 +1143 3205 +874 3206 +876 3208 +896 3210 +880 3212 +1129 3214 +882 3214 +1145 3215 +1131 3216 +884 3216 +886 3218 +1135 3220 +888 3220 +1137 3222 +1149 3225 +906 3230 +1157 3235 +1159 3245 +918 3250 +1161 3255 +1147 3265 +1163 3265 +1151 3267 +920 3270 +1153 3271 +1155 3273 +1167 3275 +1175 3285 +922 3290 +1177 3295 +898 3302 +900 3304 +1179 3305 +902 3306 +904 3308 +924 3310 +908 3312 +910 3314 +1181 3315 +1165 3316 +912 3316 +1169 3318 +914 3318 +916 3320 +1171 3322 +1173 3324 +1183 3325 +934 3330 +1193 3335 +1195 3345 +946 3350 +1197 3355 +1199 3365 +1185 3367 +1187 3369 +948 3370 +1189 3373 +1201 3375 +1191 3375 +1209 3385 +950 3390 +1213 3395 +926 3402 +928 3404 +1215 3405 +930 3406 +932 3408 +952 3410 +936 3412 +938 3414 +1217 3415 +940 3416 +1203 3418 +942 3418 +1205 3420 +944 3420 +1207 3424 +1219 3425 +1211 3426 +962 3430 +1227 3435 +1231 3445 +974 3450 +1233 3455 +1235 3465 +1221 3469 +976 3470 +1223 3471 +1237 3475 +1225 3475 +1229 3477 +1243 3485 +978 3490 +1249 3495 +954 3502 +956 3504 +1251 3505 +958 3506 +960 3508 +980 3510 +964 3512 +966 3514 +1253 3515 +968 3516 +970 3518 +1239 3520 +972 3520 +1241 3522 +1255 3525 +1245 3526 +1247 3528 +990 3530 +1261 3535 +1267 3545 +1002 3550 +1269 3555 +1271 3565 +1004 3570 +1257 3571 +1259 3573 +1273 3575 +1263 3577 +1265 3579 +1279 3585 +1006 3590 +1285 3595 +982 3602 +984 3604 +1287 3605 +986 3606 +988 3608 +1008 3610 +992 3612 +994 3614 +1289 3615 +996 3616 +998 3618 +1000 3620 +1275 3622 +1277 3624 +1291 3625 +1281 3628 +1283 3630 +1018 3630 +1297 3635 +1303 3645 +1030 3650 +1305 3655 +1307 3665 +1032 3670 +1293 3673 +1295 3675 +1309 3675 +1299 3679 +1301 3681 +1315 3685 +1034 3690 +1321 3695 +1010 3702 +1012 3704 +1323 3705 +1014 3706 +1016 3708 +1036 3710 +1020 3712 +1022 3714 +1325 3715 +1024 3716 +1026 3718 +1028 3720 +1311 3724 +1327 3725 +1313 3726 +1317 3730 +1046 3730 +1319 3732 +1331 3735 +1339 3745 +1058 3750 +1341 3755 +1343 3765 +1060 3770 +1329 3775 +1345 3775 +1333 3777 +1335 3781 +1337 3783 +1349 3785 +1062 3790 +1357 3795 +1038 3802 +1040 3804 +1359 3805 +1042 3806 +1044 3808 +1064 3810 +1048 3812 +1050 3814 +1361 3815 +1052 3816 +1054 3818 +1056 3820 +1363 3825 +1347 3826 +1351 3828 +1074 3830 +1353 3832 +1355 3834 +1365 3835 +1375 3845 +1086 3850 +1377 3855 +1379 3865 +1088 3870 +1381 3875 +1367 3877 +1369 3879 +1371 3883 +1383 3885 +1373 3885 +1090 3890 +1391 3895 +1066 3902 +1068 3904 +1395 3905 +1070 3906 +1072 3908 +1092 3910 +1076 3912 +1078 3914 +1397 3915 +1080 3916 +1082 3918 +1084 3920 +1399 3925 +1385 3928 +1387 3930 +1102 3930 +1389 3934 +1401 3935 +1393 3936 +1409 3945 +1114 3950 +1413 3955 +1415 3965 +1116 3970 +1417 3975 +1403 3979 +1405 3981 +1419 3985 +1407 3985 +1411 3987 +1118 3990 +1425 3995 +1094 4002 +1096 4004 +1431 4005 +1098 4006 +1100 4008 +1120 4010 +1104 4012 +1106 4014 +1433 4015 +1108 4016 +1110 4018 +1112 4020 +1435 4025 +1421 4030 +1130 4030 +1423 4032 +1437 4035 +1427 4036 +1429 4038 +1443 4045 +1142 4050 +1449 4055 +1451 4065 +1144 4070 +1453 4075 +1439 4081 +1441 4083 +1455 4085 +1445 4087 +1447 4089 +1146 4090 +1461 4095 +1122 4102 +1124 4104 +1467 4105 +1126 4106 +1128 4108 +1148 4110 +1132 4112 +1134 4114 +1469 4115 +1136 4116 +1138 4118 +1140 4120 +1471 4125 +1158 4130 +1457 4132 +1459 4134 +1473 4135 +1463 4138 +1465 4140 +1479 4145 +1170 4150 +1485 4155 +1487 4165 +1172 4170 +1489 4175 +1475 4183 +1477 4185 +1491 4185 +1481 4189 +1174 4190 +1483 4191 +1497 4195 +1150 4202 +1152 4204 +1503 4205 +1154 4206 +1156 4208 +1176 4210 +1160 4212 +1162 4214 +1505 4215 +1164 4216 +1166 4218 +1168 4220 +1507 4225 +1186 4230 +1493 4234 +1509 4235 +1495 4236 +1499 4240 +1501 4242 +1513 4245 +1198 4250 +1521 4255 +1523 4265 +1200 4270 +1525 4275 +1511 4285 +1527 4285 +1515 4287 +1202 4290 +1517 4291 +1519 4293 +1531 4295 +1178 4302 +1180 4304 +1539 4305 +1182 4306 +1184 4308 +1204 4310 +1188 4312 +1190 4314 +1541 4315 +1192 4316 +1194 4318 +1196 4320 +1543 4325 +1214 4330 +1545 4335 +1529 4336 +1533 4338 +1535 4342 +1537 4344 +1547 4345 +1226 4350 +1557 4355 +1559 4365 +1228 4370 +1561 4375 +1563 4385 +1549 4387 +1551 4389 +1230 4390 +1553 4393 +1565 4395 +1555 4395 +1206 4402 +1208 4404 +1573 4405 +1210 4406 +1212 4408 +1232 4410 +1216 4412 +1218 4414 +1577 4415 +1220 4416 +1222 4418 +1224 4420 +1579 4425 +1242 4430 +1581 4435 +1567 4438 +1569 4440 +1571 4444 +1583 4445 +1575 4446 +1254 4450 +1591 4455 +1595 4465 +1256 4470 +1597 4475 +1599 4485 +1585 4489 +1258 4490 +1587 4491 +1601 4495 +1589 4495 +1593 4497 +1234 4502 +1236 4504 +1607 4505 +1238 4506 +1240 4508 +1260 4510 +1244 4512 +1246 4514 +1613 4515 +1248 4516 +1250 4518 +1252 4520 +1615 4525 +1270 4530 +1617 4535 +1603 4540 +1605 4542 +1619 4545 +1609 4546 +1611 4548 +1282 4550 +1625 4555 +1631 4565 +1284 4570 +1633 4575 +1635 4585 +1286 4590 +1621 4591 +1623 4593 +1637 4595 +1627 4597 +1629 4599 +1262 4602 +1264 4604 +1643 4605 +1266 4606 +1268 4608 +1288 4610 +1272 4612 +1274 4614 +1649 4615 +1276 4616 +1278 4618 +1280 4620 +1651 4625 +1298 4630 +1653 4635 +1639 4642 +1641 4644 +1655 4645 +1645 4648 +1647 4650 +1310 4650 +1661 4655 +1667 4665 +1312 4670 +1669 4675 +1671 4685 +1314 4690 +1657 4693 +1659 4695 +1673 4695 +1663 4699 +1665 4701 +1290 4702 +1292 4704 +1679 4705 +1294 4706 +1296 4708 +1316 4710 +1300 4712 +1302 4714 +1685 4715 +1304 4716 +1306 4718 +1308 4720 +1687 4725 +1326 4730 +1689 4735 +1675 4744 +1691 4745 +1677 4746 +1681 4750 +1338 4750 +1683 4752 +1695 4755 +1703 4765 +1340 4770 +1705 4775 +1707 4785 +1342 4790 +1693 4795 +1709 4795 +1697 4797 +1699 4801 +1318 4802 +1701 4803 +1320 4804 +1713 4805 +1322 4806 +1324 4808 +1344 4810 +1328 4812 +1330 4814 +1721 4815 +1332 4816 +1334 4818 +1336 4820 +1723 4825 +1354 4830 +1725 4835 +1727 4845 +1711 4846 +1715 4848 +1366 4850 +1717 4852 +1719 4854 +1729 4855 +1739 4865 +1368 4870 +1741 4875 +1743 4885 +1370 4890 +1745 4895 +1731 4897 +1733 4899 +1346 4902 +1735 4903 +1348 4904 +1747 4905 +1737 4905 +1350 4906 +1352 4908 +1372 4910 +1356 4912 +1358 4914 +1755 4915 +1360 4916 +1362 4918 +1364 4920 +1759 4925 +1382 4930 +1761 4935 +1763 4945 +1749 4948 +1751 4950 +1394 4950 +1753 4954 +1765 4955 +1757 4956 +1773 4965 +1396 4970 +1777 4975 +1779 4985 +1398 4990 +1781 4995 +1767 4999 +1769 5001 +1374 5002 +1376 5004 +1783 5005 +1771 5005 +1378 5006 +1775 5007 +1380 5008 +1400 5010 +1384 5012 +1386 5014 +1789 5015 +1388 5016 +1390 5018 +1392 5020 +1795 5025 +1410 5030 +1797 5035 +1799 5045 +1785 5050 +1422 5050 +1787 5052 +1801 5055 +1791 5056 +1793 5058 +1807 5065 +1424 5070 +1813 5075 +1815 5085 +1426 5090 +1817 5095 +1803 5101 +1402 5102 +1805 5103 +1404 5104 +1819 5105 +1406 5106 +1809 5107 +1408 5108 +1811 5109 +1428 5110 +1412 5112 +1414 5114 +1825 5115 +1416 5116 +1418 5118 +1420 5120 +1831 5125 +1438 5130 +1833 5135 +1835 5145 +1450 5150 +1821 5152 +1823 5154 +1837 5155 +1827 5158 +1829 5160 +1843 5165 +1452 5170 +1849 5175 +1851 5185 +1454 5190 +1853 5195 +1430 5202 +1839 5203 +1432 5204 +1841 5205 +1855 5205 +1434 5206 +1436 5208 +1845 5209 +1456 5210 +1847 5211 +1440 5212 +1442 5214 +1861 5215 +1444 5216 +1446 5218 +1448 5220 +1867 5225 +1466 5230 +1869 5235 +1871 5245 +1478 5250 +1857 5254 +1873 5255 +1859 5256 +1863 5260 +1865 5262 +1877 5265 +1480 5270 +1885 5275 +1887 5285 +1482 5290 +1889 5295 +1458 5302 +1460 5304 +1875 5305 +1891 5305 +1462 5306 +1879 5307 +1464 5308 +1484 5310 +1881 5311 +1468 5312 +1883 5313 +1470 5314 +1895 5315 +1472 5316 +1474 5318 +1476 5320 +1903 5325 +1494 5330 +1905 5335 +1907 5345 +1506 5350 +1909 5355 +1893 5356 +1897 5358 +1899 5362 +1901 5364 +1911 5365 +1508 5370 +1921 5375 +1923 5385 +1510 5390 +1925 5395 +1486 5402 +1488 5404 +1927 5405 +1490 5406 +1913 5407 +1492 5408 +1915 5409 +1512 5410 +1496 5412 +1917 5413 +1498 5414 +1929 5415 +1919 5415 +1500 5416 +1502 5418 +1504 5420 +1937 5425 +1522 5430 +1941 5435 +1943 5445 +1534 5450 +1945 5455 +1931 5458 +1933 5460 +1935 5464 +1947 5465 +1939 5466 +1536 5470 +1955 5475 +1959 5485 +1538 5490 +1961 5495 +1514 5502 +1516 5504 +1963 5505 +1518 5506 +1520 5508 +1949 5509 +1540 5510 +1951 5511 +1524 5512 +1526 5514 +1965 5515 +1953 5515 +1528 5516 +1957 5517 +1530 5518 +1532 5520 +1971 5525 +1550 5530 +1977 5535 +1979 5545 +1562 5550 +1981 5555 +1967 5560 +1969 5562 +1983 5565 +1973 5566 +1975 5568 +1564 5570 +1989 5575 +1995 5585 +1566 5590 +1997 5595 +1542 5602 +1544 5604 +1999 5605 +1546 5606 +1548 5608 +1568 5610 +1985 5611 +1552 5612 +1987 5613 +1554 5614 +1556 5616 +1991 5617 +1558 5618 +1993 5619 +1560 5620 +1578 5630 +1590 5650 +1592 5670 +1594 5690 +1570 5702 +1572 5704 +1574 5706 +1576 5708 +1596 5710 +1580 5712 +1582 5714 +1584 5716 +1586 5718 +1588 5720 +1606 5730 +1618 5750 +1620 5770 +1622 5790 +1598 5802 +1600 5804 +1602 5806 +1604 5808 +1624 5810 +1608 5812 +1610 5814 +1612 5816 +1614 5818 +1616 5820 +1634 5830 +1646 5850 +1648 5870 +1650 5890 +1626 5902 +1628 5904 +1630 5906 +1632 5908 +1652 5910 +1636 5912 +1638 5914 +1640 5916 +1642 5918 +1644 5920 +1662 5930 +1674 5950 +1676 5970 +1678 5990 +1654 6002 +1656 6004 +1658 6006 +1660 6008 +1680 6010 +1664 6012 +1666 6014 +1668 6016 +1670 6018 +1672 6020 +1690 6030 +1702 6050 +1704 6070 +1706 6090 +1682 6102 +1684 6104 +1686 6106 +1688 6108 +1708 6110 +1692 6112 +1694 6114 +1696 6116 +1698 6118 +1700 6120 +1718 6130 +1730 6150 +1732 6170 +1734 6190 +1710 6202 +1712 6204 +1714 6206 +1716 6208 +1736 6210 +1720 6212 +1722 6214 +1724 6216 +1726 6218 +1728 6220 +1746 6230 +1758 6250 +1760 6270 +1762 6290 +1738 6302 +1740 6304 +1742 6306 +1744 6308 +1764 6310 +1748 6312 +1750 6314 +1752 6316 +1754 6318 +1756 6320 +1774 6330 +1786 6350 +1788 6370 +1790 6390 +1766 6402 +1768 6404 +1770 6406 +1772 6408 +1792 6410 +1776 6412 +1778 6414 +1780 6416 +1782 6418 +1784 6420 +1802 6430 +1814 6450 +1816 6470 +1818 6490 +1794 6502 +1796 6504 +1798 6506 +1800 6508 +1820 6510 +1804 6512 +1806 6514 +1808 6516 +1810 6518 +1812 6520 +1830 6530 +1842 6550 +1844 6570 +1846 6590 +1822 6602 +1824 6604 +1826 6606 +1828 6608 +1848 6610 +1832 6612 +1834 6614 +1836 6616 +1838 6618 +1840 6620 +1858 6630 +1870 6650 +1872 6670 +1874 6690 +1850 6702 +1852 6704 +1854 6706 +1856 6708 +1876 6710 +1860 6712 +1862 6714 +1864 6716 +1866 6718 +1868 6720 +1886 6730 +1898 6750 +1900 6770 +1902 6790 +1878 6802 +1880 6804 +1882 6806 +1884 6808 +1904 6810 +1888 6812 +1890 6814 +1892 6816 +1894 6818 +1896 6820 +1914 6830 +1926 6850 +1928 6870 +1930 6890 +1906 6902 +1908 6904 +1910 6906 +1912 6908 +1932 6910 +1916 6912 +1918 6914 +1920 6916 +1922 6918 +1924 6920 +1942 6930 +1954 6950 +1956 6970 +1958 6990 +1934 7002 +1936 7004 +1938 7006 +1940 7008 +1960 7010 +1944 7012 +1946 7014 +1948 7016 +1950 7018 +1952 7020 +1970 7030 +1982 7050 +1984 7070 +1986 7090 +1962 7102 +1964 7104 +1966 7106 +1968 7108 +1988 7110 +1972 7112 +1974 7114 +1976 7116 +1978 7118 +1980 7120 +1998 7130 +1990 7202 +1992 7204 +1994 7206 +1996 7208 +2000 7212 diff --git a/src/test.cpp b/src/test.cpp new file mode 100644 index 0000000..c9f2755 --- /dev/null +++ b/src/test.cpp @@ -0,0 +1,9 @@ +#include "Prep.h" +#include "main_lib.h" +#include + +// TEST(TestSuiteName, testName) {...} +TEST(ProgramTest, testFunction) { EXPECT_EQ(functionToTest(4), 8); } +TEST(ProgramTest, testFunctionShouldFail) { EXPECT_EQ(functionToTest(4), 12); } + +TEST(PrepTest, testAddFunc) { EXPECT_EQ(add(4, 2), 6); }