Files
Pier_v1/tests/column-model.test.ts
T

39 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { describe, expect, it } from 'vitest';
import { buildPier } from '../src/core/geometry';
import { columnInputFor, columnRebar } from '../src/core/rebar/column';
import { loadP1 } from './helpers';
describe('기둥 철근 높이는 모델에서 (Hc · h_cop, 승인 2026-10-23)', () => {
it('P1: Hc 12703 and h_cop 2644 come out of the model, as in 기둥철근.md', () => {
const input = columnInputFor(buildPier(loadP1()));
expect(input.Hc).toBeCloseTo(12703, 0);
expect(input.hcop).toBeCloseTo(2644, 0);
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(14539, 0);
expect(col.zTop1).toBeCloseTo(14776, 0);
});
it('taper h2 = 3000: Level underside 39.411, Hc 11203, P2 top 13039 (= Level underside + l_d)', () => {
const m = buildPier({ ...loadP1(), copingH2Mm: 3000 });
const input = columnInputFor(m);
expect(input.Hc).toBeCloseTo(11203, 0);
// h_cop = step top (43.555) − Level underside (39.411): the coping at the column gets taller with h2.
expect(input.hcop).toBeCloseTo(4144, 0);
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(13039, 0);
// The P1 top is anchored to the step top (and C3), so it does not move with h2.
expect(col.zTop1).toBeCloseTo(14776, 0);
});
it('P3 and P6 end at the coping middle level: P1 e_top 1322; taper 3000 gives e_top 2072, P3 37 ties, P6 32 bars', () => {
const p1 = columnInputFor(buildPier(loadP1()));
expect(p1.eTop).toBeCloseTo(1322, 0);
const high = columnInputFor(buildPier({ ...loadP1(), copingH2Mm: 3000 }));
expect(high.eTop).toBeCloseTo(2072, 0);
const col = columnRebar(high);
expect(col.zTopT).toBeCloseTo(13275, 0);
expect(col.p3Count).toBe(37);
expect(col.p6Count).toBe(32);
});
});