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", "국제방송교류재단", "문정원")) .isEqualTo("001_국제방송교류재단 (문정원)"); assertThat(ChannelNaming.displayName("001", "국제방송교류재단", "법률검토")) .isEqualTo("001_국제방송교류재단 (법률검토)"); } @Test void 내부명은_org_연번_구분_형식이다() { assertThat(ChannelNaming.internalName("001", "국제방송교류재단", ChannelKind.MJ)) .isEqualTo("org-001-mj"); assertThat(ChannelNaming.internalName("001", "국제방송교류재단", ChannelKind.LAW)) .isEqualTo("org-001-law"); } @Test void 치안정책연구소는_policy_구분자가_들어간다() { assertThat(ChannelNaming.internalName("008", "경찰청_치안정책연구소", ChannelKind.MJ)) .isEqualTo("org-008-policy-mj"); assertThat(ChannelNaming.internalName("008", "경찰청_치안정책연구소", ChannelKind.LAW)) .isEqualTo("org-008-policy-law"); } @Test void 같은_연번의_대표기관은_policy가_붙지_않는다() { assertThat(ChannelNaming.internalName("008", "경찰청", ChannelKind.MJ)) .isEqualTo("org-008-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", "기관", ChannelKind.MJ)) .startsWith("org-001-"); } }