import { describe, it, expect } from "vitest";
import { buildTonalnost } from "./buildTonalnost.ts";



describe("buildTonalnost", () => {
  it("buildTonalnost for A", () => {
    expect(buildTonalnost('A')).toBe("A | B | C# | D | E | F# | G#");
  });

  it("buildTonalnost for Ab", () => {
    expect(buildTonalnost('Ab')).toBe("Ab | Bb | C | Db | Eb | F | G");
  });

  it("buildTonalnost for B", () => {
    expect(buildTonalnost('B')).toBe("B | C# | D# | E | F# | G# | A#");
  });

  it("buildTonalnost for Bb", () => {
    expect(buildTonalnost('Bb')).toBe("Bb | C | D | Eb | F | G | A");
  });
  it("buildTonalnost for C", () => {
    expect(buildTonalnost('C')).toBe("C# | D# | E# | F# | G# | A# | B#");
  });
  it("buildTonalnost for Cb", () => {
    expect(buildTonalnost('Cb')).toBe("Cb | Db | Eb | Fb | Gb | Ab | Bb");
  });
  it("buildTonalnost for D", () => {
    expect(buildTonalnost('D')).toBe("D | E | F# | G | A | B | C#");
  });
  it("buildTonalnost for Db", () => {
    expect(buildTonalnost('Db')).toBe("Db | Eb | F | Gb | Ab | Bb | C");
  });
  it("buildTonalnost for E", () => {
    expect(buildTonalnost('E')).toBe("E | F# | G# | A | B | C# | D#");
  });
  it("buildTonalnost for Eb", () => {
    expect(buildTonalnost('Eb')).toBe("Eb | F | G | Ab | Bb | C | D");
  });
  it("buildTonalnost for F", () => {
    expect(buildTonalnost('F')).toBe("F# | G# | A# | B | C# | D# | E#");
  });
  it("buildTonalnost for Fb", () => {
    expect(buildTonalnost('Fb')).toBe("F | G | A | Bb | C | D | E");
  });
  it("buildTonalnost for G", () => {
    expect(buildTonalnost('G')).toBe("G | A | B | C | D | E | F#");
  });
  it("buildTonalnost for Gb", () => {
    expect(buildTonalnost('Gb')).toBe("Gb | Ab | Bb | Cb | Db | Eb | F");
  });
});
