// Test the QuantifierScopeVisualizer directly
import { QuantifierScopeVisualizer } from '../dist/systems/visualization/predicate/quantifierScopeVisualizer.js';
const visualizer = new QuantifierScopeVisualizer();
console.log('\n=== Testing Quantifier Scope Visualizer ===');
// Define a complex predicate formula with nested quantifiers
const complexFormula = {
type: 'quantified',
quantifier: 'forall',
variable: 'x',
formula: {
type: 'binary',
operator: 'implies',
left: {
type: 'predicate',
name: 'P',
args: [{ type: 'variable', name: 'x' }]
},
right: {
type: 'quantified',
quantifier: 'exists',
variable: 'y',
formula: {
type: 'predicate',
name: 'Q',
args: [
{ type: 'variable', name: 'x' },
{ type: 'variable', name: 'y' }
]
}
}
}
};
// Test HTML visualization
const htmlVisualization = visualizer.visualize(complexFormula, 'html');
console.log('HTML Visualization generated successfully');
// Save the HTML visualization
const fs = await import('fs');
fs.writeFileSync('test-quantifier-scope.html', htmlVisualization);
console.log('Quantifier scope visualization saved to test-quantifier-scope.html');
// Test SVG visualization
const svgVisualization = visualizer.visualize(complexFormula, 'svg');
fs.writeFileSync('test-quantifier-scope.svg', svgVisualization);
console.log('SVG quantifier scope visualization saved to test-quantifier-scope.svg');
// Test text visualization
const textVisualization = visualizer.visualize(complexFormula, 'text');
console.log('\nText Visualization:');
console.log(textVisualization);
console.log('\n✅ QuantifierScopeVisualizer test completed');