Files
Pier_v1/tests/sample-input.test.ts
2026-11-03 12:04:58 +09:00

26 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { existsSync, readFileSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import { parseWorkbook } from '../src/core/parseWorkbook';
import { loadWorkbook } from './helpers';
// The standing input is RAG/운곡교P1입력.xlsx. The app uses the copy in 도면추출/samples.
const RAG_INPUT = fileURLToPath(new URL('../../../RAG/운곡교P1입력.xlsx', import.meta.url));
const APP_COPY = fileURLToPath(new URL('../도면추출/samples/운곡교P1입력.xlsx', import.meta.url));
describe('표준 입력 파일 (운곡교P1입력.xlsx)', () => {
it('the app sample is byte-identical to RAG/운곡교P1입력.xlsx', () => {
if (!existsSync(RAG_INPUT)) return; // RAG folder not present in this checkout
expect(readFileSync(APP_COPY).equals(readFileSync(RAG_INPUT))).toBe(true);
});
it('reads one pier, P1, T형, 말뚝기초, with 10 bearings', () => {
const { piers, issues } = parseWorkbook(loadWorkbook());
expect(issues).toEqual([]);
expect(piers.map((p) => p.name)).toEqual(['P1']);
expect(piers[0].type).toBe('T형');
expect(piers[0].foundationType).toBe('말뚝기초');
expect(piers[0].bearings).toHaveLength(10);
});
});