confluent/ConfluentTranslator/tests/unit/test-decomposition.js
StillHammer 4b0f916d1c Restructuration complète du projet ConfluentTranslator
- Nouvelle architecture modulaire avec src/api, src/core, src/utils
- Séparation claire docs/ (admin, changelog, dev, security) et tests/ (unit, integration, scripts)
- server.js devient un simple point d'entrée
- Ajout de STRUCTURE.md documentant l'architecture
- Archivage ancien-confluent/ avec générateur de lexique complet

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 23:28:12 +08:00

38 lines
1.4 KiB
JavaScript

const { decomposeWord } = require('./morphologicalDecomposer');
const { buildReverseIndex } = require('./reverseIndexBuilder');
const { loadAllLexiques } = require('./lexiqueLoader');
const path = require('path');
const baseDir = path.join(__dirname, '..');
const lexiques = loadAllLexiques(baseDir);
const confluentIndex = buildReverseIndex(lexiques.ancien);
const testWord = 'oraatemi';
console.log(`\n=== Test de décomposition pour: "${testWord}" ===\n`);
const decompositions = decomposeWord(testWord, confluentIndex);
if (decompositions.length === 0) {
console.log('Aucune décomposition trouvée.');
} else {
decompositions.forEach((decomp, i) => {
console.log(`\n--- Décomposition #${i + 1} (confiance: ${(decomp.confidence * 100).toFixed(1)}%) ---`);
console.log(`Pattern: ${decomp.pattern}`);
console.log(`Type: ${decomp.type}`);
console.log(`Racines (${decomp.roots.length}):`);
decomp.roots.forEach((root, j) => {
console.log(` ${j + 1}. ${root.part}${root.fullRoot || '?'} (trouvé: ${root.found}, confiance: ${(root.confidence * 100).toFixed(1)}%)`);
if (root.entry) {
console.log(` Traduction: ${root.entry.francais}`);
}
});
console.log(`Liaisons (${decomp.liaisons.length}):`);
decomp.liaisons.forEach((liaison, j) => {
console.log(` ${j + 1}. -${liaison.liaison}- (${liaison.concept}, domaine: ${liaison.domaine})`);
});
});
}