/
thomas-king
/
Scanner
Обзор
Документация
Войти
/
thomas-king
/
Scanner
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lib/Tests/ScanIdentifierTests.cpp
149 строк
4 KB
Ace Rodstin
Replace GoogleTest with UnitTest.
02 ноя 2023, 18:07
02 ноя 2023, 18:07
8350eca
Код
Авторство
О чём код?
// // ScanIdentifierTests.cpp // Scanner // // Created by Ace Rodstin on 11/2/23. // Updated by Ace Rodstin on 11/2/23. // // Copyright © 2023 Ace Rodstin. All rights reserved. // #include "Tests/ScanIdentifierTests.h" using namespace tests; ScanIdentifierTests::ScanIdentifierTests(): TestSuit("ScanIdentifierTests", { TestCase("scanIdentifier", [&]() { // Given string sourceCode = "value"; string expected = "value"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithDecimal", [&]() { // Given string sourceCode = "val1ue"; string expected = "val1ue"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithDecimals", [&]() { // Given string sourceCode = "val12ue"; string expected = "val12ue"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithUnderscore", [&]() { // Given string sourceCode = "head_ing"; string expected = "head_ing"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithUnderscores", [&]() { // Given string sourceCode = "head__ing"; string expected = "head__ing"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithDecimalHead", [&]() { // Given string sourceCode = "1value"; long long expected1 = 1; string expected2 = "value"; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto literal1 = getValue<Literal>(token1); auto result1 = getValue<long long>(literal1); auto token2 = scanner.next(); auto result2 = getValue<string>(token2); // Then assertEqual(result1, expected1); assertEqual(result2, expected2); }), TestCase("scanIdentifierWithDecimalTail", [&]() { // Given string sourceCode = "value1"; string expected = "value1"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithUnderscoreHead", [&]() { // Given string sourceCode = "_value"; string expected = "_value"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), TestCase("scanIdentifierWithUnderscoreTail", [&]() { // Given string sourceCode = "value_"; string expected = "value_"; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = getValue<string>(token); // Then assertEqual(result, expected); }), }) {}