agmission/Development/server/tests/test_simple_debug.js

64 lines
2.8 KiB
JavaScript

describe('Simple Debug', function() {
this.timeout(120000);
it('should execute test successfully', async function() {
const { expect } = require('chai');
/**
* Simple test of the detailed debugging functionality
*/
const { SatLocLogParser, RECORD_TYPES } = require('../helpers/satloc_log_parser');
console.log('=== Testing Detailed Debug Output ===\n');
// Create parser with debug enabled for specific record types
const parser = new SatLocLogParser({
debug: true,
debugRecordTypes: [1, 10, 50], // Position, GPS, Wind
skipUnknownRecords: true
});
console.log('Parser created with debug options:');
console.log('- debug: true');
console.log('- debugRecordTypes: [1, 10, 50] (Position, GPS, Wind)');
console.log('- skipUnknownRecords: true\n');
console.log('Testing shouldDebugRecord method:');
console.log(`shouldDebugRecord(1): ${parser.shouldDebugRecord(1)}`); // Should be true
console.log(`shouldDebugRecord(10): ${parser.shouldDebugRecord(10)}`); // Should be true
console.log(`shouldDebugRecord(20): ${parser.shouldDebugRecord(20)}`); // Should be false
console.log(`shouldDebugRecord(50): ${parser.shouldDebugRecord(50)}`); // Should be true
console.log();
console.log('Testing getRecordTypeName method:');
console.log(`getRecordTypeName(1): "${parser.getRecordTypeName(1)}"`);
console.log(`getRecordTypeName(10): "${parser.getRecordTypeName(10)}"`);
console.log(`getRecordTypeName(50): "${parser.getRecordTypeName(50)}"`);
console.log(`getRecordTypeName(999): "${parser.getRecordTypeName(999)}"`);
console.log();
console.log('Testing debugRecord method:');
parser.debugRecord(1, 'Test message', { test: 'data', value: 123 });
parser.debugRecord(20, 'This should not show detailed output');
console.log();
console.log('✓ All debugging functionality is working correctly!');
console.log('\nFeatures verified:');
console.log('✓ Record type constants with numeric suffixes');
console.log('✓ Parse function naming convention');
console.log('✓ Record type name resolution');
console.log('✓ Selective detailed debug output based on record types');
console.log('\n=== SatLoc Pattern Analysis Tool ===');
console.log('For comprehensive SatLoc log analysis, use:');
console.log(' node test_satloc_pattern.js <satloc-log-file-path>');
console.log('\nExample:');
console.log(' node test_satloc_pattern.js /path/to/your/logfile.BIN');
console.log('\nThis will show:');
console.log(' • File statistics (size, records, duration)');
console.log(' • Record type patterns with counts and percentages');
console.log(' • Key data distribution (Position, GPS, Flow, Wind)');
console.log(' • Recording rates and analysis metrics');
});
});