// Test the EnhancedVennDiagramVisualizer integration
import { EnhancedVennDiagramVisualizer } from '../dist/systems/visualization/syllogistic/enhancedVennDiagram.js';
const visualizer = new EnhancedVennDiagramVisualizer();
console.log('\n=== Testing Enhanced Venn Diagram Visualizer ===');
// Test a classic valid syllogism (Barbara - AAA-1)
const barbara = {
majorPremise: {
type: 'A',
subject: 'men',
predicate: 'mortal'
},
minorPremise: {
type: 'A',
subject: 'Socrates',
predicate: 'men'
},
conclusion: {
type: 'A',
subject: 'Socrates',
predicate: 'mortal'
}
};
console.log('\nTesting Barbara syllogism (AAA-1):');
console.log('All men are mortal.');
console.log('Socrates is a man.');
console.log('Therefore, Socrates is mortal.');
const barbaraSVG = visualizer.generateVennDiagram(barbara);
console.log('SVG visualization generated successfully');
// Save the SVG
const fs = await import('fs');
fs.writeFileSync('test-venn-diagram-barbara.svg', barbaraSVG);
console.log('Saved to test-venn-diagram-barbara.svg');
// Test a more complex syllogism with different statement types (EIO-1)
const eio = {
majorPremise: {
type: 'E',
subject: 'dogs',
predicate: 'cats'
},
minorPremise: {
type: 'I',
subject: 'pets',
predicate: 'dogs'
},
conclusion: {
type: 'O',
subject: 'pets',
predicate: 'cats'
}
};
console.log('\nTesting EIO-1 syllogism:');
console.log('No dogs are cats.');
console.log('Some pets are dogs.');
console.log('Therefore, some pets are not cats.');
const eioSVG = visualizer.generateVennDiagram(eio);
fs.writeFileSync('test-venn-diagram-eio.svg', eioSVG);
console.log('Saved to test-venn-diagram-eio.svg');
console.log('\n✅ Enhanced Venn Diagram Visualizer tests completed');