/
thomas-king
/
Scanner
Обзор
Документация
Войти
/
thomas-king
/
Scanner
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lib/Tests/ScannerTests.cpp
61 строка
2 KB
Ace Rodstin
Replace GoogleTest with UnitTest.
02 ноя 2023, 18:07
02 ноя 2023, 18:07
8350eca
Код
Авторство
О чём код?
// // ScannerTests.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/ScannerTests.h" using namespace tests; ScannerTests::ScannerTests(): TestSuit("ScannerTests", { TestCase("scanEndOfInput", [&]() { // Given string sourceCode = ""; Token::Kind expected = Token::Kind::END_OF_INPUT; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = token.getKind(); // Then assertEqual(result, expected); }), TestCase("scanUnknownSymbol", [&]() { // Given string sourceCode = "©"; Token::Kind expected = Token::Kind::UNKNOWN; // When Scanner scanner { sourceCode }; auto token = scanner.next(); auto result = token.getKind(); // Then assertEqual(result, expected); }), TestCase("scanTokenLocation", [&]() { // Given string sourceCode = "val value = 1"; Token::Location expected { 1, 5 }; // When Scanner scanner { sourceCode }; auto token1 = scanner.next(); auto token2 = scanner.next(); auto result = token2.getLocation(); // Then assertEqual(result.line, expected.line); assertEqual(result.column, expected.column); }), }) {}