**test(tests): add comprehensive test suite for Brainy functionality**
- **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.
This commit is contained in:
parent
49c21b0fb4
commit
387179f370
9 changed files with 960 additions and 0 deletions
33
tests/setup.ts
Normal file
33
tests/setup.ts
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* 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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue