diff options
| author | Fuwn <[email protected]> | 2022-06-19 20:04:56 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-06-19 20:04:56 -0700 |
| commit | 58688c8090afea95a92a147e26ad0392c1bfef14 (patch) | |
| tree | 9a6b33f7d5692d3e1daacb1fa90b07098a0e1e47 /examples | |
| download | tael-58688c8090afea95a92a147e26ad0392c1bfef14.tar.xz tael-58688c8090afea95a92a147e26ad0392c1bfef14.zip | |
feat: initial commitv0.1.0
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/addition.cc | 74 | ||||
| -rw-r--r-- | examples/meson.build | 8 |
2 files changed, 82 insertions, 0 deletions
diff --git a/examples/addition.cc b/examples/addition.cc new file mode 100644 index 0000000..3588171 --- /dev/null +++ b/examples/addition.cc @@ -0,0 +1,74 @@ +/* + * This file is part of Tatl <https://github.com/Fuwn/tatl>. + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Copyright (C) 2022-2022 Fuwn <[email protected]> + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include <tael/tael.hh> +#include <tael/tatl.hh> + +namespace addition { + +int add(int, int); +int dummy(); +int add_works(); +int dummy_long(); +int dummy_longer(); +int should_fail(); + +} // namespace addition + +int main() { + tael::context context("examples/addition.cc"); + + context.add("dummy", addition::dummy); + context.add("add works", addition::add_works); + context.add("dummy long", addition::dummy_long); +#ifdef _MSC_VER + context.add("dummy longer", addition::dummy_longer); +#endif + context.add("should fail", addition::should_fail); + context.finish(); + + return 0; +} + +namespace addition { + +int add(int a, int b) { return a + b; } + +int dummy() { return 1; } + +int add_works() { return TATL_IS(add(1, 2), 3); } + +int dummy_long() { + for (int i = 0; i < 100000000; ++i) { + } + + return 1; +} + +int dummy_longer() { + for (int i = 0; i < 1000000000; ++i) { + } + + return 1; +} + +int should_fail() { return TATL_IS(1, 2); } + +} // namespace addition diff --git a/examples/meson.build b/examples/meson.build new file mode 100644 index 0000000..de2c6c9 --- /dev/null +++ b/examples/meson.build @@ -0,0 +1,8 @@ +project_test_files += files('addition.cc') + +executable('addition', + ['addition.cc'], + include_directories : public_header_files, + link_with : [project_target], + dependencies: [tatl], + cpp_args : project_build_args) |