/
thomas-king
/
Scanner
Обзор
Документация
Войти
/
thomas-king
/
Scanner
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lib/Tests/ScanDelimeterTests.cpp
206 строк
6 KB
Ace Rodstin
Replace GoogleTest with UnitTest.
02 ноя 2023, 18:07
02 ноя 2023, 18:07
8350eca
Код
Авторство
О чём код?
// // ScanDelimeterTests.cpp // Scanner // // Created by Ace Rodstin on 11/1/23. // Updated by Ace Rodstin on 11/2/23. // // Copyright © 2023 Ace Rodstin. All rights reserved. // #include "Tests/ScanDelimeterTests.h" using namespace tests; ScanDelimeterTests::ScanDelimeterTests(): TestSuit("ScanDelimeterTests", { TestCase("scanDelimeterSpace", [&]() { // Given string sourceCode = "val value"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeterTab", [&]() { // Given string sourceCode = "val\tvalue"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeterLinefeed", [&]() { // Given string sourceCode = "val\fvalue"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeterVerticalTab", [&]() { // Given string sourceCode = "val\vvalue"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeterCarretReturn", [&]() { // Given string sourceCode = "val\rvalue"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeterNewLine", [&]() { // Given string sourceCode = "val\nvalue"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanDelimeters", [&]() { // Given string sourceCode = "val value"; Keyword expected1 = Keyword::VAL; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto result1 = getValue<Keyword>(token1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanHeadDelimeter", [&]() { // Given string sourceCode = " val"; Keyword expected = Keyword::VAL; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<Keyword>(token); // Then assertEqual(result, expected); }), TestCase("scanHeadDelimeters", [&]() { // Given string sourceCode = " val"; Keyword expected = Keyword::VAL; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<Keyword>(token); // Then assertEqual(result, expected); }), TestCase("scanTailDelimeter", [&]() { // Given string sourceCode = "val "; Keyword expected = Keyword::VAL; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<Keyword>(token); // Then assertEqual(result, expected); }), TestCase("scanTailDelimeters", [&]() { // Given string sourceCode = "val "; Keyword expected = Keyword::VAL; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<Keyword>(token); // Then assertEqual(result, expected); }), }) {}