- **New Tests Added**: - Introduced multiple test suites covering core functionalities (`core.test.ts`), vector operations (`vector-operations.test.ts`), Node.js environment (`environment.node.test.ts`), browser setup (`environment.browser.test.ts`), and TensorFlow.js-specific behaviors (`tensorflow-patch.test.ts`). - Added performance, scalability, and error-handling tests to ensure robust validation of vector addition, search, and text embedding functionalities. - Introduced setup utilities (`tests/setup.ts`) and standardized test utilities for creating predictable test cases. - **Configuration**: - Created `vitest.config.ts` for custom test configurations, including support for modern test environments (`jsdom`, `happy-dom`) and extended timeouts for asynchronous operations. - **Validation**: - Includes compatibility checks for TensorFlow.js imports and ensures proper handling of `TextEncoder`/`TextDecoder` in Node.js environments. This commit significantly enhances the testing coverage and structure, ensuring Brainy functionality is robust, cross-platform, and aligned with evolving reliability standards.
33 lines
849 B
TypeScript
33 lines
849 B
TypeScript
/**
|
|
* Simple test setup for Brainy library
|
|
* No direct TensorFlow references - patches are handled internally by Brainy
|
|
*/
|
|
|
|
import { beforeEach } from 'vitest'
|
|
|
|
// Clean up between tests
|
|
beforeEach(() => {
|
|
// Clear any global state that might interfere with tests
|
|
if (typeof global !== 'undefined' && global.__ENV__) {
|
|
delete global.__ENV__
|
|
}
|
|
})
|
|
|
|
// Simple test utilities focused on Brainy usage patterns
|
|
declare global {
|
|
let testUtils: {
|
|
createTestVector: (dimensions: number) => number[]
|
|
timeout: number
|
|
}
|
|
}
|
|
|
|
// Add simple test utilities
|
|
globalThis.testUtils = {
|
|
// Create a simple test vector with predictable values
|
|
createTestVector: (dimensions: number): number[] => {
|
|
return Array.from({ length: dimensions }, (_, i) => (i + 1) / dimensions)
|
|
},
|
|
|
|
// Standard timeout for async operations
|
|
timeout: 30000
|
|
}
|