UNPKG

nizavisim

Version:

Независимый язык программирования с поддержкой русского языка.

37 lines (30 loc) 1.35 kB
const { interpreter } = require('../src/interpreter'); function testInterpreter() { // Создаем тестовый AST const ast = [ { type: 'FunctionDeclaration', name: 'пример' }, { type: 'PrintStatement', value: 'Hello, World!' } ]; console.log('Начало теста интерпретатора'); // Переопределяем console.log для проверки вывода const consoleLog = console.log; let output = ''; console.log = (msg) => { output += msg + '\n'; }; // Вызываем интерпретатор interpreter(ast); // Сравниваем ожидаемый и фактический вывод const expectedOutput = 'Объявлена функция: пример\nВывод: Hello, World!\n'; if (output === expectedOutput) { console.log('Тест интерпретатора пройден'); } else { console.error('Тест не пройден'); console.error(`Ожидаемый вывод:\n${expectedOutput}`); console.error(`Фактический вывод:\n${output}`); } // Восстанавливаем оригинальный console.log console.log = consoleLog; } // Запускаем тест testInterpreter();