File: suite.cpp

package info (click to toggle)
boost-ext-ut 2.3.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 620 kB
  • sloc: cpp: 6,773; makefile: 13; sh: 10
file content (40 lines) | stat: -rw-r--r-- 857 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
// Copyright (c) 2019-2020 Kris Jusiak (kris at jusiak dot net)
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
#include <boost/ut.hpp>

namespace ut = boost::ut;

ut::suite errors = [] {
  using namespace ut;

  "exception"_test = [] {
    expect(throws([] { throw 0; })) << "throws any exception";
  };

  "failure"_test = [] { expect(nothrow([] {})); };
};

#if not defined(__clang__) and not defined(_MSC_VER)
struct calc {
  static inline ut::suite sum_suite = []<class T = calc>() -> void {
    using namespace ut;

    "sum"_test = [] {
      T calc{};
      expect(6_i == calc.sum(1, 2, 3));
    };
  };

  template <class... TArgs>
  constexpr auto sum(TArgs... args) -> int {
    return (args + ...);
  }
};
#endif

int main() {}