Files
Pier_v1/tests/abut-visibility.test.ts
T
ypshimandClaude Opus 5.5 f4311d7f95 fix(view): ③ 철근배근도 선택한 구조물만 3D에 표시
- 교각을 선택하면 교대를 숨김(②와 같은 규칙). 교대 선택 시 교각 숨김은 기존대로
- ① ↔ ③ 전환 때도 장면을 다시 만들어 표시 규칙이 바로 반영되게 함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 15:48:09 +09:00

33 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { abutShown, piersShown } from '../src/core/abut/visibility';
describe('형상계획 ②: 선택한 객체만 3D에 그림', () => {
it('a selected abutment hides the piers in ②', () => {
expect(piersShown('plan', 'A1')).toBe(false);
expect(abutShown('plan', 'A1', 'A1')).toBe(true);
expect(abutShown('plan', 'A1', 'A2')).toBe(false);
});
it('a selected pier (no abutment selected) hides every abutment in ②', () => {
expect(piersShown('plan', null)).toBe(true);
expect(abutShown('plan', null, 'A1')).toBe(false);
expect(abutShown('plan', null, 'A2')).toBe(false);
});
it('① keeps the piers and every abutment as before', () => {
expect(piersShown('shape', 'A1')).toBe(true);
expect(piersShown('shape', null)).toBe(true);
expect(abutShown('shape', 'A1', 'A2')).toBe(true);
expect(abutShown('shape', null, 'A1')).toBe(true);
});
it('③ draws only the selected object, as ② (2026-11-04); ④ draws as before', () => {
expect(piersShown('rebar', 'A1')).toBe(false);
expect(abutShown('rebar', 'A1', 'A1')).toBe(true);
expect(abutShown('rebar', 'A1', 'A2')).toBe(false);
expect(piersShown('rebar', null)).toBe(true);
expect(abutShown('rebar', null, 'A1')).toBe(false);
expect(piersShown('quantity', 'A1')).toBe(true);
});
});