mirror of
				https://github.com/Laupetin/OpenAssetTools.git
				synced 2025-10-31 02:26:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "Parsing/Header/Sequence/SequenceNamespace.h"
 | |
| #include "Parsing/Mock/MockLexer.h"
 | |
| #include "Parsing/Mock/MockPackValueSupplier.h"
 | |
| 
 | |
| #include <catch2/catch_test_macros.hpp>
 | |
| #include <catch2/generators/catch_generators.hpp>
 | |
| 
 | |
| 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);
 | |
|     }
 | |
| } // namespace test::parsing::header::sequence::sequence_namespace
 |