package kr.itn.itnhub.provision; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; class ChannelNamingTest { @Test void 표시명은_연번_기관명_라벨을_조합한다() { assertThat(ChannelNaming.displayName("001_00", "국제방송교류재단", "문정원")) .isEqualTo("001_00_국제방송교류재단 (문정원)"); assertThat(ChannelNaming.displayName("001_00", "국제방송교류재단", "법률검토")) .isEqualTo("001_00_국제방송교류재단 (법률검토)"); } @Test void 내부명은_org_연번_구분_형식이다() { assertThat(ChannelNaming.internalName("001_00", "국제방송교류재단", ChannelKind.MJ)) .isEqualTo("org-001-00-mj"); assertThat(ChannelNaming.internalName("001_00", "국제방송교류재단", ChannelKind.LAW)) .isEqualTo("org-001-00-law"); } @Test void 치안정책연구소는_합성코드로만_구분되며_더_이상_특별취급하지_않는다() { assertThat(ChannelNaming.displayName("008_01", "경찰청_치안정책연구소", "문정원")) .isEqualTo("008_01_경찰청_치안정책연구소 (문정원)"); assertThat(ChannelNaming.internalName("008_01", "경찰청_치안정책연구소", ChannelKind.MJ)) .isEqualTo("org-008-01-mj"); assertThat(ChannelNaming.internalName("008_01", "경찰청_치안정책연구소", ChannelKind.LAW)) .isEqualTo("org-008-01-law"); } @Test void 대표기관과_하위기관은_연번_뒷자리로만_구분된다() { assertThat(ChannelNaming.internalName("008_00", "경찰청", ChannelKind.MJ)) .isEqualTo("org-008-00-mj"); assertThat(ChannelNaming.internalName("008_02", "서울청", ChannelKind.MJ)) .isEqualTo("org-008-02-mj"); } @Test void 연번의_밑줄과_공백은_하이픈으로_바뀌고_소문자가_된다() { assertThat(ChannelNaming.internalName("00_A", "기관", ChannelKind.MJ)) .isEqualTo("org-00-a-mj"); assertThat(ChannelNaming.internalName(" 00 B ", "기관", ChannelKind.MJ)) .isEqualTo("org-00-b-mj"); } @Test void 연번의_앞자리_영은_보존된다() { assertThat(ChannelNaming.internalName("001_00", "기관", ChannelKind.MJ)) .startsWith("org-001-00-"); } }