xtd 0.2.0
Loading...
Searching...
No Matches
actual_value.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "assert_type.hpp"
6
8namespace xtd {
10 namespace tunit {
12 namespace constraints {
14 class assert_value;
16
17 template<class actual_t>
18 class actual_value {
19 protected:
21
23 actual_value() {}
24 actual_value(actual_value&&) = default;
25 actual_value(const actual_value&) = default;
27
29
31 xtd::tunit::constraints::assert_type assert_type() const noexcept {return assert_type_;};
32 actual_value& type(xtd::tunit::constraints::assert_type assert_type) noexcept {
33 assert_type_ = assert_type;
34 return self_;
35 };
36
37 auto is_assert() const noexcept {return assert_type() == xtd::tunit::constraints::assert_type::assert;}
38 auto is_valid() const noexcept {return assert_type() == xtd::tunit::constraints::assert_type::valid;}
39 auto is_assume() const noexcept {return assert_type() == xtd::tunit::constraints::assert_type::assume;}
40
41 const actual_t& actual() const noexcept {return *actual_;}
42 actual_value& actual(const actual_t& actual) noexcept {
43 actual_ = &actual;
44 return self_;
45 }
47
48 private:
49 friend class assert_value;
50 xtd::tunit::constraints::assert_type assert_type_;
51 const actual_t* actual_ = null;
52 };
53 }
54 }
55}
Contains xtd::tunit::constraints::assert_type enum.
Definition assert_value.hpp:13
#define self_
The self_ expression is a reference value expression whose value is the reference of the implicit obj...
Definition self.hpp:20
std::type_info type
Stores information about a type.
Definition type.hpp:23
null_ptr null
Represents a null pointer value.
The constraints namespace contains the constraint-based assert model.
Definition actual_value.hpp:12
The tunit namespace contains a unit test library.
Definition abort_error.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8