xtd 1.0.0
Loading...
Searching...
No Matches
is_value.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "is_not_value.hpp"
6#include "operator_value.hpp"
7#include "../assert.hpp"
8#include "../assume.hpp"
12#include "../string_assert.hpp"
13#include "../string_assume.hpp"
14#include "../string_valid.hpp"
15#include "../valid.hpp"
16
18namespace xtd {
20 namespace tunit {
22 namespace constraints {
24 template<typename actual_t> class that_value;
26
27 template<typename actual_t>
28 class is_value : public actual_value<actual_t> {
29 public:
31
33 [[nodiscard]] auto not_() {return is_not_value<actual_t>(self_);}
34
46 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_empty(actual_value<actual_t>::actual(), stack_frame);
47 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_empty(actual_value<actual_t>::actual(), stack_frame);
48 else xtd::tunit::assume::is_empty(actual_value<actual_t>::actual(), stack_frame);
50 }
51
63 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_empty(actual_value<actual_t>::actual(), stack_frame);
64 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_empty(actual_value<actual_t>::actual(), message, stack_frame);
65 else xtd::tunit::assume::is_empty(actual_value<actual_t>::actual(), stack_frame);
67 }
68
79 template<typename expected_t>
80 auto equal_to(const expected_t& expected, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) const {
81 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::are_equal(expected, actual_value<actual_t>::actual(), stack_frame);
82 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::are_equal(expected, actual_value<actual_t>::actual(), stack_frame);
83 else xtd::tunit::assume::are_equal(expected, actual_value<actual_t>::actual(), stack_frame);
85 }
86
97 template<typename expected_t>
98 auto equal_to(const expected_t& expected, const xtd::string& message, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) const {
99 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::are_equal(expected, actual_value<actual_t>::actual(), message, stack_frame);
100 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::are_equal(expected, actual_value<actual_t>::actual(), message, stack_frame);
101 else xtd::tunit::assume::are_equal(expected, actual_value<actual_t>::actual(), message, stack_frame);
103 }
104
116 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_false(actual_value<actual_t>::actual(), stack_frame);
117 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_false(actual_value<actual_t>::actual(), stack_frame);
118 else xtd::tunit::assume::is_false(actual_value<actual_t>::actual(), stack_frame);
120 }
121
133 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_false(actual_value<actual_t>::actual(), message, stack_frame);
134 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_false(actual_value<actual_t>::actual(), message, stack_frame);
135 else xtd::tunit::assume::is_false(actual_value<actual_t>::actual(), message, stack_frame);
137 }
138
150 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_positive(actual_value<actual_t>::actual(), stack_frame);
151 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_positive(actual_value<actual_t>::actual(), stack_frame);
152 else xtd::tunit::assume::is_positive(actual_value<actual_t>::actual(), stack_frame);
154 }
155
167 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_negative(actual_value<actual_t>::actual(), message, stack_frame);
168 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_negative(actual_value<actual_t>::actual(), message, stack_frame);
169 else xtd::tunit::assume::is_negative(actual_value<actual_t>::actual(), message, stack_frame);
171 }
172
184 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_positive(actual_value<actual_t>::actual(), stack_frame);
185 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_positive(actual_value<actual_t>::actual(), stack_frame);
186 else xtd::tunit::assume::is_positive(actual_value<actual_t>::actual(), stack_frame);
188 }
189
201 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_positive(actual_value<actual_t>::actual(), message, stack_frame);
202 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_positive(actual_value<actual_t>::actual(), message, stack_frame);
203 else xtd::tunit::assume::is_positive(actual_value<actual_t>::actual(), message, stack_frame);
205 }
206
219 template<typename expected_t>
220 auto same_as(const expected_t& expected, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) const {
221 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::are_same(expected, actual_value<actual_t>::actual(), stack_frame);
222 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::are_same(expected, actual_value<actual_t>::actual(), stack_frame);
223 else xtd::tunit::assume::are_same(expected, actual_value<actual_t>::actual(), stack_frame);
225 }
226
239 template<typename expected_t>
240 auto same_as(const expected_t& expected, const xtd::string& message, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) const {
241 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::are_same(expected, actual_value<actual_t>::actual(), message, stack_frame);
242 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::are_same(expected, actual_value<actual_t>::actual(), message, stack_frame);
243 else xtd::tunit::assume::are_same(expected, actual_value<actual_t>::actual(), message, stack_frame);
245 }
246
258 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_true(actual_value<actual_t>::actual(), stack_frame);
259 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_true(actual_value<actual_t>::actual(), stack_frame);
260 else xtd::tunit::assume::is_true(actual_value<actual_t>::actual(), stack_frame);
262 }
263
275 if (actual_value<actual_t>::is_assert()) xtd::tunit::assert::is_true(actual_value<actual_t>::actual(), message, stack_frame);
276 else if (actual_value<actual_t>::is_valid()) xtd::tunit::valid::is_true(actual_value<actual_t>::actual(), message, stack_frame);
277 else xtd::tunit::assume::is_true(actual_value<actual_t>::actual(), message, stack_frame);
279 }
280
281
282 protected:
284
286 is_value() = default;
287 is_value(actual_value<actual_t>&& v) : actual_value<actual_t> {std::move(v)} {}
288 is_value(const actual_value<actual_t>& v) : actual_value<actual_t> {v} {}
290
291 private:
292 template<typename value_t> friend class that_value;
293 };
294 }
295 }
296}
Contains xtd::tunit::assume class.
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.hpp:46
static auto current(const xtd::diagnostics::source_location &value=xtd::diagnostics::source_location::current()) noexcept -> xtd::diagnostics::stack_frame
Crates a new xtd::diagnostics::stack_frame object corresponding to the location of the call site.
static auto is_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that collection contains an item.
Definition assert.hpp:351
static auto is_positive(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that ta condition is positive.
Definition assert.hpp:1169
static auto is_negative(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that ta condition is negative.
Definition assert.hpp:681
static auto are_same(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that two objects do refer to differents objects.
Definition assert.hpp:246
static auto is_false(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that a condition is false.
static auto is_true(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that a condition is true.
static auto are_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Asserts that two type are equal.
Definition assert.hpp:50
static auto are_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that two type are equal.
Definition assume.hpp:41
static auto is_negative(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that ta condition is negative.
Definition assume.hpp:710
static auto is_true(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that a condition is true.
static auto are_same(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that two objects do refer to differents objects.
Definition assume.hpp:248
static auto is_positive(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that ta condition is positive.
Definition assume.hpp:1246
static auto is_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that collection contains an item.
Definition assume.hpp:360
static auto is_false(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Assumes that a condition is false.
Definition actual_value.hpp:18
Definition is_not_value.hpp:27
Definition is_value.hpp:28
auto same_as(const expected_t &expected, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) const
Asserts that value is same as specified expected.
Definition is_value.hpp:220
auto equal_to(const expected_t &expected, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) const
Asserts that value is equal to specified expected.
Definition is_value.hpp:80
auto positive(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is positive.
Definition is_value.hpp:183
auto negative(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is positive.
Definition is_value.hpp:149
auto empty(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is empty.
Definition is_value.hpp:45
auto true_(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is true and specified user message.
Definition is_value.hpp:274
auto true_(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is true.
Definition is_value.hpp:257
auto false_(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is false.
Definition is_value.hpp:115
auto empty(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is empty and specified user message.
Definition is_value.hpp:62
auto false_(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is false and specified user message.
Definition is_value.hpp:132
auto negative(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is false and specified user message.
Definition is_value.hpp:166
auto equal_to(const expected_t &expected, const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) const
Asserts that value is equal to specified expected with specified user message.
Definition is_value.hpp:98
auto positive(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that value is false and specified user message.
Definition is_value.hpp:200
auto same_as(const expected_t &expected, const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) const
Asserts that value is same as specified expected with specified user message.
Definition is_value.hpp:240
Definition operator_value.hpp:21
Definition that_value.hpp:21
static auto is_false(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that a condition is false.
static auto is_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that collection contains an item.
Definition valid.hpp:342
static auto are_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that two type are equal.
Definition valid.hpp:41
static auto is_positive(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that ta condition is positive.
Definition valid.hpp:1174
static auto is_negative(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that ta condition is negative.
Definition valid.hpp:673
static auto is_true(bool condition, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that a condition is true.
static auto are_same(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current()) -> void
Validates that two objects do refer to different objects.
Definition valid.hpp:235
Contains xtd::tunit::collection_assert class.
Contains xtd::tunit::collection_assume class.
Contains xtd::tunit::collection_valid class.
#define self_
The self_ expression is a reference value expression whose value is the reference of the implicit obj...
Definition self.hpp:20
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
@ v
The V key.
Definition console_key.hpp:130
Contains xtd::tunit::constraints::is_not_value class.
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
Contains xtd::tunit::constraints::operator_value class.
Contains xtd::tunit::string_assert class.
Contains xtd::tunit::string_assume class.
Contains xtd::tunit::string_valid class.
Contains xtd::tunit::valid class.
Contains xtd::tunit::assert class.