import { convertEngToKor, convertKorToEng } from "./qwerty-dubeolsik";

describe("convertEngToKor", () => {
  it("초중성 조합(Initial-Medial)", () => {
    expect(convertEngToKor("rkskekfkakqktk")).toBe("가나다라마바사");
    expect(convertEngToKor("rnpWkr")).toBe("궤짝");
    expect(convertEngToKor("Rma")).toBe("끔");
    expect(convertEngToKor("rkRma")).toBe("가끔");
    expect(convertEngToKor("rsksl")).toBe("ㄱ나니");
    expect(convertEngToKor("rksekd")).toBe("간당");
    expect(convertEngToKor("rhddyd")).toBe("공용");
    expect(convertEngToKor("QhQl")).toBe("뽀삐");
    expect(convertEngToKor("WkaQhd")).toBe("짬뽕");
    expect(convertEngToKor("dkvkxmdkvkx")).toBe("아파트아팥");
  });

  it("복합종성(Composed Final Consonants)", () => {
    expect(convertEngToKor("rkqt")).toBe("값");
    expect(convertEngToKor("rkqtwlek")).toBe("값지다");
    expect(convertEngToKor("rnpfg")).toBe("궳");
  });

  it("이중 모음(Diphthongs)", () => {
    expect(convertEngToKor("hlholkO")).toBe("ㅚㅙㅣㅏㅒ");
  });
});

describe("convertKorToEng", () => {
  it("초중성 조합(Initial-Medial)", () => {
    expect(convertKorToEng("가나다라마바사")).toBe("rkskekfkakqktk");
    expect(convertKorToEng("궤짝")).toBe("rnpWkr");
    expect(convertKorToEng("끔")).toBe("Rma");
    expect(convertKorToEng("가끔")).toBe("rkRma");
    expect(convertKorToEng("ㄱ나니")).toBe("rsksl");
    expect(convertKorToEng("간당")).toBe("rksekd");
    expect(convertKorToEng("공용")).toBe("rhddyd");
    expect(convertKorToEng("뽀삐")).toBe("QhQl");
    expect(convertKorToEng("짬뽕")).toBe("WkaQhd");
    expect(convertKorToEng("아파트아팥")).toBe("dkvkxmdkvkx");
  });

  it("복합종성(Composed Final Consonants)", () => {
    expect(convertKorToEng("값")).toBe("rkqt");
    expect(convertKorToEng("값지다")).toBe("rkqtwlek");
    expect(convertKorToEng("궳")).toBe("rnpfg");
  });

  it("이중 모음(Diphthongs)", () => {
    expect(convertKorToEng("ㅚㅙㅣㅏㅒ")).toBe("hlholkO");
  });
});
