태그 사유가 맞아진다 — 'Inital' 은 오타가 아니라 실제 표기다
미리보기 레거시 호환 계획의 A2. 값이 더 나오는 효과는 <b>최대 7건</b>이고,
본체는 "왜 값이 안 나오는지"가 맞아지는 것이다.
<b>① Inital</b> — 분류 규칙이 EndsWith("InitialDatatable") 인데 실제 태그 3종은
_InitalDatatable 이다(LegacyTagCatalog.cs:184, 194, 196). 레거시가 그렇게 적어 두었다.
맞춤법을 고치는 것이 아니라 실재하는 표기를 받는 것이다.
안 받으면 그 셋이 표가 아니라 환자 문맥으로 분류되어,
화면이 "환자 정보가 있어야 값이 나온다"는 <b>틀린 사유</b>를 말한다 —
사용자는 환자를 골라 보고 왜 안 나오는지 계속 찾게 된다.
검사에 "이 표기가 카탈로그에 실재하는가"를 함께 넣었다. 표기가 바뀌면 검사가 헛돈다.
<b>② ETC_건강보험증번호_Refer</b> — 본문 34줄이 전부 주석 처리되고 Return "" 만 남았다
(bzDataInterface.vb:15352). 운영 2건. Dead 표에 없어서 화면이 "환자 정보가 있으면 나온다"고 말했는데,
환자를 골라도 영원히 안 나온다.
<b>앞선 보고를 정정한다</b>: "카탈로그 오분류 45종 122건 회수"는 틀렸다.
재계측하면 최대 40종 7건이고, 근거로 들었던 _병원직인(82건)·_병원로고(22건)는
이름에 '직인'·'로고' 가 들어가 이미 Image 로 분류된다 — 누수가 아니었다.
게이트: 테스트 299/299(신규 1), --edit-smoke 0실패, --dialog-shots FAIL 0,
--db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 동일.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
26e93cae94
commit
5072acb518
@@ -76,6 +76,11 @@ public static class TagPreviewCatalog
|
|||||||
// 레거시가 항상 빈 문자열을 돌려준다(본문이 Return "")
|
// 레거시가 항상 빈 문자열을 돌려준다(본문이 Return "")
|
||||||
["OCM_수술일자_Refer"] = TagPreviewKind.Dead,
|
["OCM_수술일자_Refer"] = TagPreviewKind.Dead,
|
||||||
|
|
||||||
|
// 본문 34줄이 전부 주석 처리되고 Return "" 만 남았다(bzDataInterface.vb:15352).
|
||||||
|
// 운영에서 2건 쓰이는데, 이 표에 없으면 화면이 "환자 정보가 있으면 나온다"고 말한다 —
|
||||||
|
// 환자를 골라도 영원히 안 나온다. 사유를 정직하게 하려고 넣는다.
|
||||||
|
["ETC_건강보험증번호_Refer"] = TagPreviewKind.Dead,
|
||||||
|
|
||||||
// 태그가 아니라 내부 헬퍼 — 우리 카탈로그가 Public Function 을 전수 추출해 섞여 들어왔다.
|
// 태그가 아니라 내부 헬퍼 — 우리 카탈로그가 Public Function 을 전수 추출해 섞여 들어왔다.
|
||||||
// 레거시 태그 목록(fmDataTag)은 PAT_/OCM_/ETC_ 접두어만 올린다.
|
// 레거시 태그 목록(fmDataTag)은 PAT_/OCM_/ETC_ 접두어만 올린다.
|
||||||
["퇴원약DT"] = TagPreviewKind.NotATag,
|
["퇴원약DT"] = TagPreviewKind.NotATag,
|
||||||
@@ -102,9 +107,16 @@ public static class TagPreviewCatalog
|
|||||||
{
|
{
|
||||||
return known;
|
return known;
|
||||||
}
|
}
|
||||||
// 이름 끝으로 갈리는 두 갈래는 규칙이 확실하다 — 표에 나열하지 않는다
|
// 이름 끝으로 갈리는 두 갈래는 규칙이 확실하다 — 표에 나열하지 않는다.
|
||||||
|
//
|
||||||
|
// <b>Inital 은 오타가 아니라 카탈로그의 실제 표기다.</b> 레거시가 그렇게 적어 두었고
|
||||||
|
// 실제 태그 3종이 <c>_InitalDatatable</c> 이다(LegacyTagCatalog.cs:184, 194, 196).
|
||||||
|
// "InitialDatatable" 만 보면 그 셋이 표가 아니라 환자 문맥으로 분류되어,
|
||||||
|
// 화면이 "환자 정보가 있어야 값이 나온다"는 <b>틀린 사유</b>를 말한다.
|
||||||
|
// 맞춤법을 고치는 것이 아니라 실재하는 표기를 받는 것이다.
|
||||||
if (tag.EndsWith("List", StringComparison.Ordinal)
|
if (tag.EndsWith("List", StringComparison.Ordinal)
|
||||||
|| tag.EndsWith("InitialDatatable", StringComparison.Ordinal))
|
|| tag.EndsWith("InitialDatatable", StringComparison.Ordinal)
|
||||||
|
|| tag.EndsWith("InitalDatatable", StringComparison.Ordinal))
|
||||||
{
|
{
|
||||||
return TagPreviewKind.Table;
|
return TagPreviewKind.Table;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,10 +54,33 @@ public sealed class TagPreviewCatalogTests
|
|||||||
Assert.AreEqual(TagPreviewKind.Image, TagPreviewCatalog.KindOf("ETC_병원직인"));
|
Assert.AreEqual(TagPreviewKind.Image, TagPreviewCatalog.KindOf("ETC_병원직인"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void 카탈로그의_실제_표기를_받는다()
|
||||||
|
{
|
||||||
|
// 레거시가 'Inital' 로 적어 두었다 — 맞춤법이 아니라 실재하는 표기다.
|
||||||
|
// 'InitialDatatable' 만 보면 이 셋이 표가 아니라 환자 문맥으로 분류되어,
|
||||||
|
// 화면이 "환자 정보가 있어야 값이 나온다"는 틀린 사유를 말한다.
|
||||||
|
foreach (var tag in new[]
|
||||||
|
{
|
||||||
|
"ETC_로그인사용자_병동간호사목록_InitalDatatable",
|
||||||
|
"ETC_수술_내시경간호사목록_InitalDatatable",
|
||||||
|
"ETC_수술간호사목록_InitalDatatable",
|
||||||
|
})
|
||||||
|
{
|
||||||
|
Assert.AreEqual(TagPreviewKind.Table, TagPreviewCatalog.KindOf(tag), tag);
|
||||||
|
// 실재 확인 — 표기가 바뀌면 이 검사가 헛돈다
|
||||||
|
Assert.IsTrue(LegacyTagCatalog.DataInterfaceTags.Contains(tag), $"{tag} 가 카탈로그에 없다");
|
||||||
|
}
|
||||||
|
// 올바른 철자도 계속 받는다
|
||||||
|
Assert.AreEqual(TagPreviewKind.Table, TagPreviewCatalog.KindOf("PAT_병동InitialDatatable"));
|
||||||
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void 죽은_태그와_태그가_아닌_것을_가른다()
|
public void 죽은_태그와_태그가_아닌_것을_가른다()
|
||||||
{
|
{
|
||||||
Assert.AreEqual(TagPreviewKind.Dead, TagPreviewCatalog.KindOf("OCM_수술일자_Refer"));
|
Assert.AreEqual(TagPreviewKind.Dead, TagPreviewCatalog.KindOf("OCM_수술일자_Refer"));
|
||||||
|
// 본문 34줄이 전부 주석 + Return "" — 환자를 골라도 영원히 안 나온다(실사용 2건)
|
||||||
|
Assert.AreEqual(TagPreviewKind.Dead, TagPreviewCatalog.KindOf("ETC_건강보험증번호_Refer"));
|
||||||
Assert.AreEqual(TagPreviewKind.NotATag, TagPreviewCatalog.KindOf("GetNurseShtCod"));
|
Assert.AreEqual(TagPreviewKind.NotATag, TagPreviewCatalog.KindOf("GetNurseShtCod"));
|
||||||
Assert.AreEqual(TagPreviewKind.NotATag, TagPreviewCatalog.KindOf("퇴원약DT"));
|
Assert.AreEqual(TagPreviewKind.NotATag, TagPreviewCatalog.KindOf("퇴원약DT"));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user