xtd 0.2.0
directory_assert.h
Go to the documentation of this file.
1 #pragma once
5 #include "assert.h"
6 #if defined(__cpp_lib_filesystem)
7 #include <filesystem>
8 #endif
9 #include <xtd/io/directory>
10 #include <xtd/io/directory_info>
11 
13 namespace xtd {
15  namespace tunit {
28  class tunit_export_ directory_assert final : private base_assert {
29  public:
31  directory_assert() = delete;
33 
35 
37  #if defined(__cpp_lib_filesystem)
38  static void are_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual);
64  static void are_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const xtd::diagnostics::stack_frame& stack_frame);
78  static void are_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const std::string& message);
93  static void are_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
94  #endif
95  static void are_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual);
121  static void are_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const xtd::diagnostics::stack_frame& stack_frame);
135  static void are_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const std::string& message);
150  static void are_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
151 
152  #if defined(__cpp_lib_filesystem)
153  static void are_not_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual);
179  static void are_not_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const xtd::diagnostics::stack_frame& stack_frame);
193  static void are_not_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const std::string& message);
208  static void are_not_equal(const std::filesystem::directory_entry& expected, const std::filesystem::directory_entry& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
209  #endif
210  static void are_not_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual);
236  static void are_not_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const xtd::diagnostics::stack_frame& stack_frame);
250  static void are_not_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const std::string& message);
265  static void are_not_equal(const xtd::io::directory_info& expected, const xtd::io::directory_info& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
266 
267  #if defined(__cpp_lib_filesystem)
268  static void does_not_exist(const std::filesystem::directory_entry& directory);
292  static void does_not_exist(const std::filesystem::directory_entry& directory, const xtd::diagnostics::stack_frame& stack_frame);
305  static void does_not_exist(const std::filesystem::directory_entry& directory, const std::string& message);
319  static void does_not_exist(const std::filesystem::directory_entry& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
320  #endif
321 
333  static void does_not_exist(const xtd::io::directory_info& directory);
346  static void does_not_exist(const xtd::io::directory_info& directory, const xtd::diagnostics::stack_frame& stack_frame);
359  static void does_not_exist(const xtd::io::directory_info& directory, const std::string& message);
373  static void does_not_exist(const xtd::io::directory_info& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
374 
386  template<typename char_t>
387  static void does_not_exist(const std::basic_string<char_t>& directory) {does_not_exist(directory, "", xtd::diagnostics::stack_frame::empty());}
400  template<typename char_t>
401  static void does_not_exist(const std::basic_string<char_t>& directory, const xtd::diagnostics::stack_frame& stack_frame) {does_not_exist(directory, "", stack_frame);}
414  template<typename char_t>
415  static void does_not_exist(const std::basic_string<char_t>& directory, const std::string& message) {does_not_exist(directory, message, xtd::diagnostics::stack_frame::empty());}
429  template<typename char_t>
430  static void does_not_exist(const std::basic_string<char_t>& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {does_not_exist(xtd::io::directory_info(directory), message, stack_frame);}
431 
433  template<typename char_t>
434  static void does_not_exist(const char_t* directory) {does_not_exist(directory, "", xtd::diagnostics::stack_frame::empty());}
435  template<typename char_t>
436  static void does_not_exist(const char_t* directory, const xtd::diagnostics::stack_frame& stack_frame) {does_not_exist(directory, "", stack_frame);}
437  template<typename char_t>
438  static void does_not_exist(const char_t* directory, const std::string& message) {does_not_exist(directory, message, xtd::diagnostics::stack_frame::empty());}
439  template<typename char_t>
440  static void does_not_exist(const char_t* directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {does_not_exist(std::basic_string<char_t>(directory), message, stack_frame);}
441 
442  #if defined(__cpp_lib_filesystem)
443  static void exists(const std::filesystem::directory_entry& directory);
468  static void exists(const std::filesystem::directory_entry& directory, const xtd::diagnostics::stack_frame& stack_frame);
481  static void exists(const std::filesystem::directory_entry& directory, const std::string& message);
495  static void exists(const std::filesystem::directory_entry& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
496  #endif
497 
509  static void exists(const xtd::io::directory_info& directory);
522  static void exists(const xtd::io::directory_info& directory, const xtd::diagnostics::stack_frame& stack_frame);
535  static void exists(const xtd::io::directory_info& directory, const std::string& message);
549  static void exists(const xtd::io::directory_info& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame);
550 
562  template<typename char_t>
563  static void exists(const std::basic_string<char_t>& directory) {exists(directory, "", xtd::diagnostics::stack_frame::empty());}
576  template<typename char_t>
577  static void exists(const std::basic_string<char_t>& directory, const xtd::diagnostics::stack_frame& stack_frame) {exists(directory, "", stack_frame);}
590  template<typename char_t>
591  static void exists(const std::basic_string<char_t>& directory, const std::string& message) {exists(directory, message, xtd::diagnostics::stack_frame::empty());}
605  template<typename char_t>
606  static void exists(const std::basic_string<char_t>& directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {exists(xtd::io::directory_info(directory), message, stack_frame);}
607 
609  template<typename char_t>
610  static void exists(const char_t* directory) {exists(directory, "", xtd::diagnostics::stack_frame::empty());}
611  template<typename char_t>
612  static void exists(const char_t* directory, const xtd::diagnostics::stack_frame& stack_frame) {exists(directory, "", stack_frame);}
613  template<typename char_t>
614  static void exists(const char_t* directory, const std::string& message) {exists(directory, message, xtd::diagnostics::stack_frame::empty());}
615  template<typename char_t>
616  static void exists(const char_t* directory, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {exists(std::basic_string<char_t>(directory), message, stack_frame);}
619  };
620  }
621 }
622 
637 #define exists_(...) __CMD_ASSERT_ARGS(exists, __VA_ARGS__)
638 
653 #define does_not_exist_(...) __CMD_ASSERT_ARGS(does_not_exist, __VA_ARGS__)
The base class for assert.
Definition: base_assert.h:29
static void does_not_exist(const std::basic_string< char_t > &directory)
Asserts that directory not exists.
Definition: directory_assert.h:387
static void does_not_exist(const std::basic_string< char_t > &directory, const xtd::diagnostics::stack_frame &stack_frame)
Asserts that directory not exists.
Definition: directory_assert.h:401
static void exists(const std::basic_string< char_t > &directory, const xtd::diagnostics::stack_frame &stack_frame)
Asserts that directory exists.
Definition: directory_assert.h:577
static void exists(const std::basic_string< char_t > &directory, const std::string &message)
Asserts that directory exists.
Definition: directory_assert.h:591
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
static void exists(const std::basic_string< char_t > &directory, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Asserts that directory exists.
Definition: directory_assert.h:606
static void does_not_exist(const std::basic_string< char_t > &directory, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Asserts that directory not exists.
Definition: directory_assert.h:430
Exposes instance methods for creating, moving, and enumerating through directories and subdirectories...
Definition: directory_info.h:125
static void exists(const std::basic_string< char_t > &directory)
Asserts that directory exists.
Definition: directory_assert.h:563
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
static stack_frame empty() noexcept
Return an empty stack frame.
The directory_assert class contains a collection of static methods that implement the most directory ...
Definition: directory_assert.h:28
Contains xtd::tunit::assert class.
static void does_not_exist(const std::basic_string< char_t > &directory, const std::string &message)
Asserts that directory not exists.
Definition: directory_assert.h:415