Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <set>
- #include <stack>
- #include <string>
- #include <vector>
- using namespace std;
- // -------- Шаблоны тестирующих функций ----------
- #pragma region TEST_LIB
- template<typename T, typename U>
- void
- AssertEqualImpl(const T &t, const U &u, const std::string &t_str, const std::string &u_str, const std::string &file,
- const std::string &func, unsigned line, const std::string &hint) {
- if (t != u) {
- std::cout << std::boolalpha;
- std::cout << file << "(" << line << "): " << func << ": ";
- std::cout << "ASSERT_EQUAL(" << t_str << ", " << u_str << ") failed: ";
- std::cout << t << " != " << u << ".";
- if (!hint.empty()) {
- std::cout << " Hint: " << hint;
- }
- std::cout << std::endl;
- abort();
- }
- }
- #define ASSERT_EQUAL(a, b) AssertEqualImpl((a), (b), #a, #b, __FILE__, __FUNCTION__, __LINE__, ""s)
- #define ASSERT_EQUAL_HINT(a, b, hint) AssertEqualImpl((a), (b), #a, #b, __FILE__, __FUNCTION__, __LINE__, (hint))
- void
- AssertImpl(bool value, const std::string &expr_str, const std::string &file, const std::string &func, unsigned line,
- const std::string &hint) {
- if (!value) {
- cout << file << "("s << line << "): "s << func << ": "s;
- cout << "ASSERT("s << expr_str << ") failed."s;
- if (!hint.empty()) {
- cout << " Hint: "s << hint;
- }
- cout << endl;
- abort();
- }
- }
- #define ASSERT(expr) AssertImpl(!!(expr), #expr, __FILE__, __FUNCTION__, __LINE__, ""s)
- #define ASSERT_HINT(expr, hint) AssertImpl(!!(expr), #expr, __FILE__, __FUNCTION__, __LINE__, (hint))
- template<typename T, typename U>
- void RunTestImpl(T &test, U &func) {
- test();
- std::cerr << func << " OK" << std::endl;
- }
- #define RUN_TEST(func) RunTestImpl((func), #func)
- #pragma endregion TEST_LIB
- // -------- Конец шаблонов тестирующих функций ----------
- class Automation {
- public:
- explicit Automation(const std::string ®exp) :
- // TODO
- }
- [[nodiscard]] bool recognizes(std::string_view text) const {
- // TODO
- }
- private:
- // TODO
- };
- class AutomationTester {
- // -------- Тестирующие функций ----------
- #pragma region TESTS
- static void Test5thSymbolFromEndIs1() {
- Automation automation(""); // 5-ый символ с конца равен 1
- ASSERT(!automation.recognizes(""));
- ASSERT(!automation.recognizes("0"));
- ASSERT(!automation.recognizes("1"));
- ASSERT(!automation.recognizes("00"));
- ASSERT(!automation.recognizes("01"));
- ASSERT(!automation.recognizes("10"));
- ASSERT(!automation.recognizes("11"));
- ASSERT(!automation.recognizes("000"));
- ASSERT(!automation.recognizes("001"));
- ASSERT(!automation.recognizes("010"));
- ASSERT(!automation.recognizes("011"));
- ASSERT(!automation.recognizes("100"));
- ASSERT(!automation.recognizes("101"));
- ASSERT(!automation.recognizes("110"));
- ASSERT(!automation.recognizes("111"));
- ASSERT(!automation.recognizes("0000"));
- ASSERT(!automation.recognizes("0001"));
- ASSERT(!automation.recognizes("0010"));
- ASSERT(!automation.recognizes("0011"));
- ASSERT(!automation.recognizes("0100"));
- ASSERT(!automation.recognizes("0101"));
- ASSERT(!automation.recognizes("0110"));
- ASSERT(!automation.recognizes("0111"));
- ASSERT(!automation.recognizes("1000"));
- ASSERT(!automation.recognizes("1001"));
- ASSERT(!automation.recognizes("1010"));
- ASSERT(!automation.recognizes("1011"));
- ASSERT(!automation.recognizes("1100"));
- ASSERT(!automation.recognizes("1101"));
- ASSERT(!automation.recognizes("1110"));
- ASSERT(!automation.recognizes("1111"));
- ASSERT(!automation.recognizes("00000"));
- ASSERT(!automation.recognizes("00001"));
- ASSERT(!automation.recognizes("00010"));
- ASSERT(!automation.recognizes("00011"));
- ASSERT(!automation.recognizes("00100"));
- ASSERT(!automation.recognizes("00101"));
- ASSERT(!automation.recognizes("00110"));
- ASSERT(!automation.recognizes("00111"));
- ASSERT(!automation.recognizes("01000"));
- ASSERT(!automation.recognizes("01001"));
- ASSERT(!automation.recognizes("01010"));
- ASSERT(!automation.recognizes("01011"));
- ASSERT(!automation.recognizes("01100"));
- ASSERT(!automation.recognizes("01101"));
- ASSERT(!automation.recognizes("01110"));
- ASSERT(!automation.recognizes("01111"));
- ASSERT(automation.recognizes("10000"));
- ASSERT(automation.recognizes("10001"));
- ASSERT(automation.recognizes("10010"));
- ASSERT(automation.recognizes("10011"));
- ASSERT(automation.recognizes("10100"));
- ASSERT(automation.recognizes("10101"));
- ASSERT(automation.recognizes("10110"));
- ASSERT(automation.recognizes("10111"));
- ASSERT(automation.recognizes("11000"));
- ASSERT(automation.recognizes("11001"));
- ASSERT(automation.recognizes("11010"));
- ASSERT(automation.recognizes("11011"));
- ASSERT(automation.recognizes("11100"));
- ASSERT(automation.recognizes("11101"));
- ASSERT(automation.recognizes("11110"));
- ASSERT(automation.recognizes("11111"));
- ASSERT(!automation.recognizes("000000"));
- ASSERT(!automation.recognizes("000001"));
- ASSERT(!automation.recognizes("000010"));
- ASSERT(!automation.recognizes("000011"));
- ASSERT(!automation.recognizes("000100"));
- ASSERT(!automation.recognizes("000101"));
- ASSERT(!automation.recognizes("000110"));
- ASSERT(!automation.recognizes("000111"));
- ASSERT(!automation.recognizes("001000"));
- ASSERT(!automation.recognizes("001001"));
- ASSERT(!automation.recognizes("001010"));
- ASSERT(!automation.recognizes("001011"));
- ASSERT(!automation.recognizes("001100"));
- ASSERT(!automation.recognizes("001101"));
- ASSERT(!automation.recognizes("001110"));
- ASSERT(!automation.recognizes("001111"));
- ASSERT(automation.recognizes("010000"));
- ASSERT(automation.recognizes("010001"));
- ASSERT(automation.recognizes("010010"));
- ASSERT(automation.recognizes("010011"));
- ASSERT(automation.recognizes("010100"));
- ASSERT(automation.recognizes("010101"));
- ASSERT(automation.recognizes("010110"));
- ASSERT(automation.recognizes("010111"));
- ASSERT(automation.recognizes("011000"));
- ASSERT(automation.recognizes("011001"));
- ASSERT(automation.recognizes("011010"));
- ASSERT(automation.recognizes("011011"));
- ASSERT(automation.recognizes("011100"));
- ASSERT(automation.recognizes("011101"));
- ASSERT(automation.recognizes("011110"));
- ASSERT(automation.recognizes("011111"));
- ASSERT(!automation.recognizes("100000"));
- ASSERT(!automation.recognizes("100001"));
- ASSERT(!automation.recognizes("100010"));
- ASSERT(!automation.recognizes("100011"));
- ASSERT(!automation.recognizes("100100"));
- ASSERT(!automation.recognizes("100101"));
- ASSERT(!automation.recognizes("100110"));
- ASSERT(!automation.recognizes("100111"));
- ASSERT(!automation.recognizes("101000"));
- ASSERT(!automation.recognizes("101001"));
- ASSERT(!automation.recognizes("101010"));
- ASSERT(!automation.recognizes("101011"));
- ASSERT(!automation.recognizes("101100"));
- ASSERT(!automation.recognizes("101101"));
- ASSERT(!automation.recognizes("101110"));
- ASSERT(!automation.recognizes("101111"));
- ASSERT(automation.recognizes("110000"));
- ASSERT(automation.recognizes("110001"));
- ASSERT(automation.recognizes("110010"));
- ASSERT(automation.recognizes("110011"));
- ASSERT(automation.recognizes("110100"));
- ASSERT(automation.recognizes("110101"));
- ASSERT(automation.recognizes("110110"));
- ASSERT(automation.recognizes("110111"));
- ASSERT(automation.recognizes("111000"));
- ASSERT(automation.recognizes("111001"));
- ASSERT(automation.recognizes("111010"));
- ASSERT(automation.recognizes("111011"));
- ASSERT(automation.recognizes("111100"));
- ASSERT(automation.recognizes("111101"));
- ASSERT(automation.recognizes("111110"));
- ASSERT(automation.recognizes("111111"));
- }
- static void Test11After00() {
- Automation automation(""); // За каждой парой символов 00 следует пара символов 11
- ASSERT(automation.recognizes(""));
- ASSERT(automation.recognizes("0"));
- ASSERT(automation.recognizes("1"));
- ASSERT(!automation.recognizes("00"));
- ASSERT(automation.recognizes("01"));
- ASSERT(automation.recognizes("10"));
- ASSERT(automation.recognizes("11"));
- ASSERT(!automation.recognizes("000"));
- ASSERT(!automation.recognizes("001"));
- ASSERT(automation.recognizes("010"));
- ASSERT(automation.recognizes("011"));
- ASSERT(!automation.recognizes("100"));
- ASSERT(automation.recognizes("101"));
- ASSERT(automation.recognizes("110"));
- ASSERT(automation.recognizes("111"));
- ASSERT(!automation.recognizes("0000"));
- ASSERT(!automation.recognizes("0001"));
- ASSERT(!automation.recognizes("0010"));
- ASSERT(automation.recognizes("0011"));
- ASSERT(!automation.recognizes("0100"));
- ASSERT(automation.recognizes("0101"));
- ASSERT(automation.recognizes("0110"));
- ASSERT(automation.recognizes("0111"));
- ASSERT(!automation.recognizes("1000"));
- ASSERT(!automation.recognizes("1001"));
- ASSERT(automation.recognizes("1010"));
- ASSERT(automation.recognizes("1011"));
- ASSERT(!automation.recognizes("1100"));
- ASSERT(automation.recognizes("1101"));
- ASSERT(automation.recognizes("1110"));
- ASSERT(automation.recognizes("1111"));
- ASSERT(!automation.recognizes("00000"));
- ASSERT(!automation.recognizes("00001"));
- ASSERT(!automation.recognizes("00010"));
- ASSERT(!automation.recognizes("00011"));
- ASSERT(!automation.recognizes("00100"));
- ASSERT(!automation.recognizes("00101"));
- ASSERT(automation.recognizes("00110"));
- ASSERT(automation.recognizes("00111"));
- ASSERT(!automation.recognizes("01000"));
- ASSERT(!automation.recognizes("01001"));
- ASSERT(automation.recognizes("01010"));
- ASSERT(automation.recognizes("01011"));
- ASSERT(!automation.recognizes("01100"));
- ASSERT(automation.recognizes("01101"));
- ASSERT(automation.recognizes("01110"));
- ASSERT(automation.recognizes("01111"));
- ASSERT(!automation.recognizes("10000"));
- ASSERT(!automation.recognizes("10001"));
- ASSERT(!automation.recognizes("10010"));
- ASSERT(automation.recognizes("10011"));
- ASSERT(!automation.recognizes("10100"));
- ASSERT(automation.recognizes("10101"));
- ASSERT(automation.recognizes("10110"));
- ASSERT(automation.recognizes("10111"));
- ASSERT(!automation.recognizes("11000"));
- ASSERT(!automation.recognizes("11001"));
- ASSERT(automation.recognizes("11010"));
- ASSERT(automation.recognizes("11011"));
- ASSERT(!automation.recognizes("11100"));
- ASSERT(automation.recognizes("11101"));
- ASSERT(automation.recognizes("11110"));
- ASSERT(automation.recognizes("11111"));
- ASSERT(!automation.recognizes("000000"));
- ASSERT(!automation.recognizes("000001"));
- ASSERT(!automation.recognizes("000010"));
- ASSERT(!automation.recognizes("000011"));
- ASSERT(!automation.recognizes("000100"));
- ASSERT(!automation.recognizes("000101"));
- ASSERT(!automation.recognizes("000110"));
- ASSERT(!automation.recognizes("000111"));
- ASSERT(!automation.recognizes("001000"));
- ASSERT(!automation.recognizes("001001"));
- ASSERT(!automation.recognizes("001010"));
- ASSERT(!automation.recognizes("001011"));
- ASSERT(!automation.recognizes("001100"));
- ASSERT(automation.recognizes("001101"));
- ASSERT(automation.recognizes("001110"));
- ASSERT(automation.recognizes("001111"));
- ASSERT(!automation.recognizes("010000"));
- ASSERT(!automation.recognizes("010001"));
- ASSERT(!automation.recognizes("010010"));
- ASSERT(automation.recognizes("010011"));
- ASSERT(!automation.recognizes("010100"));
- ASSERT(automation.recognizes("010101"));
- ASSERT(automation.recognizes("010110"));
- ASSERT(automation.recognizes("010111"));
- ASSERT(!automation.recognizes("011000"));
- ASSERT(!automation.recognizes("011001"));
- ASSERT(automation.recognizes("011010"));
- ASSERT(automation.recognizes("011011"));
- ASSERT(!automation.recognizes("011100"));
- ASSERT(automation.recognizes("011101"));
- ASSERT(automation.recognizes("011110"));
- ASSERT(automation.recognizes("011111"));
- ASSERT(!automation.recognizes("100000"));
- ASSERT(!automation.recognizes("100001"));
- ASSERT(!automation.recognizes("100010"));
- ASSERT(!automation.recognizes("100011"));
- ASSERT(!automation.recognizes("100100"));
- ASSERT(!automation.recognizes("100101"));
- ASSERT(automation.recognizes("100110"));
- ASSERT(automation.recognizes("100111"));
- ASSERT(!automation.recognizes("101000"));
- ASSERT(!automation.recognizes("101001"));
- ASSERT(automation.recognizes("101010"));
- ASSERT(automation.recognizes("101011"));
- ASSERT(!automation.recognizes("101100"));
- ASSERT(automation.recognizes("101101"));
- ASSERT(automation.recognizes("101110"));
- ASSERT(automation.recognizes("101111"));
- ASSERT(!automation.recognizes("110000"));
- ASSERT(!automation.recognizes("110001"));
- ASSERT(!automation.recognizes("110010"));
- ASSERT(automation.recognizes("110011"));
- ASSERT(!automation.recognizes("110100"));
- ASSERT(automation.recognizes("110101"));
- ASSERT(automation.recognizes("110110"));
- ASSERT(automation.recognizes("110111"));
- ASSERT(!automation.recognizes("111000"));
- ASSERT(!automation.recognizes("111001"));
- ASSERT(automation.recognizes("111010"));
- ASSERT(automation.recognizes("111011"));
- ASSERT(!automation.recognizes("111100"));
- ASSERT(automation.recognizes("111101"));
- ASSERT(automation.recognizes("111110"));
- ASSERT(automation.recognizes("111111"));
- ASSERT(!automation.recognizes("0000000"));
- ASSERT(!automation.recognizes("0000001"));
- ASSERT(!automation.recognizes("0000010"));
- ASSERT(!automation.recognizes("0000011"));
- ASSERT(!automation.recognizes("0000100"));
- ASSERT(!automation.recognizes("0000101"));
- ASSERT(!automation.recognizes("0000110"));
- ASSERT(!automation.recognizes("0000111"));
- ASSERT(!automation.recognizes("0001000"));
- ASSERT(!automation.recognizes("0001001"));
- ASSERT(!automation.recognizes("0001010"));
- ASSERT(!automation.recognizes("0001011"));
- ASSERT(!automation.recognizes("0001100"));
- ASSERT(!automation.recognizes("0001101"));
- ASSERT(!automation.recognizes("0001110"));
- ASSERT(!automation.recognizes("0001111"));
- ASSERT(!automation.recognizes("0010000"));
- ASSERT(!automation.recognizes("0010001"));
- ASSERT(!automation.recognizes("0010010"));
- ASSERT(!automation.recognizes("0010011"));
- ASSERT(!automation.recognizes("0010100"));
- ASSERT(!automation.recognizes("0010101"));
- ASSERT(!automation.recognizes("0010110"));
- ASSERT(!automation.recognizes("0010111"));
- ASSERT(!automation.recognizes("0011000"));
- ASSERT(!automation.recognizes("0011001"));
- ASSERT(automation.recognizes("0011010"));
- ASSERT(automation.recognizes("0011011"));
- ASSERT(!automation.recognizes("0011100"));
- ASSERT(automation.recognizes("0011101"));
- ASSERT(automation.recognizes("0011110"));
- ASSERT(automation.recognizes("0011111"));
- ASSERT(!automation.recognizes("0100000"));
- ASSERT(!automation.recognizes("0100001"));
- ASSERT(!automation.recognizes("0100010"));
- ASSERT(!automation.recognizes("0100011"));
- ASSERT(!automation.recognizes("0100100"));
- ASSERT(!automation.recognizes("0100101"));
- ASSERT(automation.recognizes("0100110"));
- ASSERT(automation.recognizes("0100111"));
- ASSERT(!automation.recognizes("0101000"));
- ASSERT(!automation.recognizes("0101001"));
- ASSERT(automation.recognizes("0101010"));
- ASSERT(automation.recognizes("0101011"));
- ASSERT(!automation.recognizes("0101100"));
- ASSERT(automation.recognizes("0101101"));
- ASSERT(automation.recognizes("0101110"));
- ASSERT(automation.recognizes("0101111"));
- ASSERT(!automation.recognizes("0110000"));
- ASSERT(!automation.recognizes("0110001"));
- ASSERT(!automation.recognizes("0110010"));
- ASSERT(automation.recognizes("0110011"));
- ASSERT(!automation.recognizes("0110100"));
- ASSERT(automation.recognizes("0110101"));
- ASSERT(automation.recognizes("0110110"));
- ASSERT(automation.recognizes("0110111"));
- ASSERT(!automation.recognizes("0111000"));
- ASSERT(!automation.recognizes("0111001"));
- ASSERT(automation.recognizes("0111010"));
- ASSERT(automation.recognizes("0111011"));
- ASSERT(!automation.recognizes("0111100"));
- ASSERT(automation.recognizes("0111101"));
- ASSERT(automation.recognizes("0111110"));
- ASSERT(automation.recognizes("0111111"));
- ASSERT(!automation.recognizes("1000000"));
- ASSERT(!automation.recognizes("1000001"));
- ASSERT(!automation.recognizes("1000010"));
- ASSERT(!automation.recognizes("1000011"));
- ASSERT(!automation.recognizes("1000100"));
- ASSERT(!automation.recognizes("1000101"));
- ASSERT(!automation.recognizes("1000110"));
- ASSERT(!automation.recognizes("1000111"));
- ASSERT(!automation.recognizes("1001000"));
- ASSERT(!automation.recognizes("1001001"));
- ASSERT(!automation.recognizes("1001010"));
- ASSERT(!automation.recognizes("1001011"));
- ASSERT(!automation.recognizes("1001100"));
- ASSERT(automation.recognizes("1001101"));
- ASSERT(automation.recognizes("1001110"));
- ASSERT(automation.recognizes("1001111"));
- ASSERT(!automation.recognizes("1010000"));
- ASSERT(!automation.recognizes("1010001"));
- ASSERT(!automation.recognizes("1010010"));
- ASSERT(automation.recognizes("1010011"));
- ASSERT(!automation.recognizes("1010100"));
- ASSERT(automation.recognizes("1010101"));
- ASSERT(automation.recognizes("1010110"));
- ASSERT(automation.recognizes("1010111"));
- ASSERT(!automation.recognizes("1011000"));
- ASSERT(!automation.recognizes("1011001"));
- ASSERT(automation.recognizes("1011010"));
- ASSERT(automation.recognizes("1011011"));
- ASSERT(!automation.recognizes("1011100"));
- ASSERT(automation.recognizes("1011101"));
- ASSERT(automation.recognizes("1011110"));
- ASSERT(automation.recognizes("1011111"));
- ASSERT(!automation.recognizes("1100000"));
- ASSERT(!automation.recognizes("1100001"));
- ASSERT(!automation.recognizes("1100010"));
- ASSERT(!automation.recognizes("1100011"));
- ASSERT(!automation.recognizes("1100100"));
- ASSERT(!automation.recognizes("1100101"));
- ASSERT(automation.recognizes("1100110"));
- ASSERT(automation.recognizes("1100111"));
- ASSERT(!automation.recognizes("1101000"));
- ASSERT(!automation.recognizes("1101001"));
- ASSERT(automation.recognizes("1101010"));
- ASSERT(automation.recognizes("1101011"));
- ASSERT(!automation.recognizes("1101100"));
- ASSERT(automation.recognizes("1101101"));
- ASSERT(automation.recognizes("1101110"));
- ASSERT(automation.recognizes("1101111"));
- ASSERT(!automation.recognizes("1110000"));
- ASSERT(!automation.recognizes("1110001"));
- ASSERT(!automation.recognizes("1110010"));
- ASSERT(automation.recognizes("1110011"));
- ASSERT(!automation.recognizes("1110100"));
- ASSERT(automation.recognizes("1110101"));
- ASSERT(automation.recognizes("1110110"));
- ASSERT(automation.recognizes("1110111"));
- ASSERT(!automation.recognizes("1111000"));
- ASSERT(!automation.recognizes("1111001"));
- ASSERT(automation.recognizes("1111010"));
- ASSERT(automation.recognizes("1111011"));
- ASSERT(!automation.recognizes("1111100"));
- ASSERT(automation.recognizes("1111101"));
- ASSERT(automation.recognizes("1111110"));
- ASSERT(automation.recognizes("1111111"));
- }
- static void Test101NotInText() {
- Automation automation(""); // Не содержится 101 в качестве подстроки
- ASSERT(automation.recognizes(""));
- ASSERT(automation.recognizes("0"));
- ASSERT(automation.recognizes("1"));
- ASSERT(automation.recognizes("00"));
- ASSERT(automation.recognizes("01"));
- ASSERT(automation.recognizes("10"));
- ASSERT(automation.recognizes("11"));
- ASSERT(automation.recognizes("000"));
- ASSERT(automation.recognizes("001"));
- ASSERT(automation.recognizes("010"));
- ASSERT(automation.recognizes("011"));
- ASSERT(automation.recognizes("100"));
- ASSERT(!automation.recognizes("101"));
- ASSERT(automation.recognizes("110"));
- ASSERT(automation.recognizes("111"));
- ASSERT(automation.recognizes("0000"));
- ASSERT(automation.recognizes("0001"));
- ASSERT(automation.recognizes("0010"));
- ASSERT(automation.recognizes("0011"));
- ASSERT(automation.recognizes("0100"));
- ASSERT(!automation.recognizes("0101"));
- ASSERT(automation.recognizes("0110"));
- ASSERT(automation.recognizes("0111"));
- ASSERT(automation.recognizes("1000"));
- ASSERT(automation.recognizes("1001"));
- ASSERT(!automation.recognizes("1010"));
- ASSERT(!automation.recognizes("1011"));
- ASSERT(automation.recognizes("1100"));
- ASSERT(!automation.recognizes("1101"));
- ASSERT(automation.recognizes("1110"));
- ASSERT(automation.recognizes("1111"));
- ASSERT(automation.recognizes("00000"));
- ASSERT(automation.recognizes("00001"));
- ASSERT(automation.recognizes("00010"));
- ASSERT(automation.recognizes("00011"));
- ASSERT(automation.recognizes("00100"));
- ASSERT(!automation.recognizes("00101"));
- ASSERT(automation.recognizes("00110"));
- ASSERT(automation.recognizes("00111"));
- ASSERT(automation.recognizes("01000"));
- ASSERT(automation.recognizes("01001"));
- ASSERT(!automation.recognizes("01010"));
- ASSERT(!automation.recognizes("01011"));
- ASSERT(automation.recognizes("01100"));
- ASSERT(!automation.recognizes("01101"));
- ASSERT(automation.recognizes("01110"));
- ASSERT(automation.recognizes("01111"));
- ASSERT(automation.recognizes("10000"));
- ASSERT(automation.recognizes("10001"));
- ASSERT(automation.recognizes("10010"));
- ASSERT(automation.recognizes("10011"));
- ASSERT(!automation.recognizes("10100"));
- ASSERT(!automation.recognizes("10101"));
- ASSERT(!automation.recognizes("10110"));
- ASSERT(!automation.recognizes("10111"));
- ASSERT(automation.recognizes("11000"));
- ASSERT(automation.recognizes("11001"));
- ASSERT(!automation.recognizes("11010"));
- ASSERT(!automation.recognizes("11011"));
- ASSERT(automation.recognizes("11100"));
- ASSERT(!automation.recognizes("11101"));
- ASSERT(automation.recognizes("11110"));
- ASSERT(automation.recognizes("11111"));
- ASSERT(automation.recognizes("000000"));
- ASSERT(automation.recognizes("000001"));
- ASSERT(automation.recognizes("000010"));
- ASSERT(automation.recognizes("000011"));
- ASSERT(automation.recognizes("000100"));
- ASSERT(!automation.recognizes("000101"));
- ASSERT(automation.recognizes("000110"));
- ASSERT(automation.recognizes("000111"));
- ASSERT(automation.recognizes("001000"));
- ASSERT(automation.recognizes("001001"));
- ASSERT(!automation.recognizes("001010"));
- ASSERT(!automation.recognizes("001011"));
- ASSERT(automation.recognizes("001100"));
- ASSERT(!automation.recognizes("001101"));
- ASSERT(automation.recognizes("001110"));
- ASSERT(automation.recognizes("001111"));
- ASSERT(automation.recognizes("010000"));
- ASSERT(automation.recognizes("010001"));
- ASSERT(automation.recognizes("010010"));
- ASSERT(automation.recognizes("010011"));
- ASSERT(!automation.recognizes("010100"));
- ASSERT(!automation.recognizes("010101"));
- ASSERT(!automation.recognizes("010110"));
- ASSERT(!automation.recognizes("010111"));
- ASSERT(automation.recognizes("011000"));
- ASSERT(automation.recognizes("011001"));
- ASSERT(!automation.recognizes("011010"));
- ASSERT(!automation.recognizes("011011"));
- ASSERT(automation.recognizes("011100"));
- ASSERT(!automation.recognizes("011101"));
- ASSERT(automation.recognizes("011110"));
- ASSERT(automation.recognizes("011111"));
- ASSERT(automation.recognizes("100000"));
- ASSERT(automation.recognizes("100001"));
- ASSERT(automation.recognizes("100010"));
- ASSERT(automation.recognizes("100011"));
- ASSERT(automation.recognizes("100100"));
- ASSERT(!automation.recognizes("100101"));
- ASSERT(automation.recognizes("100110"));
- ASSERT(automation.recognizes("100111"));
- ASSERT(!automation.recognizes("101000"));
- ASSERT(!automation.recognizes("101001"));
- ASSERT(!automation.recognizes("101010"));
- ASSERT(!automation.recognizes("101011"));
- ASSERT(!automation.recognizes("101100"));
- ASSERT(!automation.recognizes("101101"));
- ASSERT(!automation.recognizes("101110"));
- ASSERT(!automation.recognizes("101111"));
- ASSERT(automation.recognizes("110000"));
- ASSERT(automation.recognizes("110001"));
- ASSERT(automation.recognizes("110010"));
- ASSERT(automation.recognizes("110011"));
- ASSERT(!automation.recognizes("110100"));
- ASSERT(!automation.recognizes("110101"));
- ASSERT(!automation.recognizes("110110"));
- ASSERT(!automation.recognizes("110111"));
- ASSERT(automation.recognizes("111000"));
- ASSERT(automation.recognizes("111001"));
- ASSERT(!automation.recognizes("111010"));
- ASSERT(!automation.recognizes("111011"));
- ASSERT(automation.recognizes("111100"));
- ASSERT(!automation.recognizes("111101"));
- ASSERT(automation.recognizes("111110"));
- ASSERT(automation.recognizes("111111"));
- }
- #pragma endregion TESTS
- // -------- Конец тестирующих функций ----------
- public:
- static void Test() {
- RUN_TEST(Test5thSymbolFromEndIs1);
- RUN_TEST(Test11After00);
- RUN_TEST(Test101NotInText);
- }
- };
- int main() {
- AutomationTester::Test();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement