mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 15:52:53 +00:00
29 lines
1.1 KiB
C++
29 lines
1.1 KiB
C++
#include <catch2/catch.hpp>
|
|
|
|
#include "Parsing/Header/Sequence/SequenceNamespace.h"
|
|
#include "Parsing/Mock/MockLexer.h"
|
|
#include "Parsing/Mock/MockPackValueSupplier.h"
|
|
|
|
namespace test::parsing::header::sequence::sequence_namespace
|
|
{
|
|
TEST_CASE("SequenceNamespace: Ensure can parse simple namespace directive", "[parsing][parsingstream]")
|
|
{
|
|
const TokenPos pos;
|
|
const auto lexer = std::make_unique<MockLexer<HeaderParserValue>>(MockLexer<HeaderParserValue>(
|
|
{
|
|
HeaderParserValue::Keyword(pos, HeaderParserValueType::NAMESPACE),
|
|
HeaderParserValue::Identifier(pos, new std::string("test_namespace")),
|
|
HeaderParserValue::Character(pos, '{')
|
|
}, HeaderParserValue::EndOfFile(pos)));
|
|
|
|
const auto packValueSupplier = std::make_unique<MockPackValueSupplier>();
|
|
const auto sequence = std::make_unique<SequenceNamespace>();
|
|
const auto state = std::make_unique<HeaderParserState>(packValueSupplier.get());
|
|
|
|
unsigned consumedTokenCount;
|
|
auto result = sequence->MatchSequence(lexer.get(), state.get(), consumedTokenCount);
|
|
|
|
REQUIRE(result);
|
|
}
|
|
}
|