import { expect } from "@esm-bundle/chai";
import { CrystalSpiresTextureGenerator } from "../../src/generation/textures/CrystalSpiresTextureGenerator.js";

describe("System: Crystal Spires Textures", () => {
  it("CoA 1: Should generate Marble texture (ID 1)", () => {
    const gen = new CrystalSpiresTextureGenerator(123);
    const maps = gen.generateMarble(64);

    expect(maps).to.have.property("diffuse");
    expect(maps).to.have.property("normal");

    // Check dimensions
    expect(maps.diffuse.width).to.equal(64);
    expect(maps.diffuse.height).to.equal(64);
  });

  it("CoA 2: Should generate Crystal texture (ID 15)", () => {
    const gen = new CrystalSpiresTextureGenerator(123);
    const maps = gen.generateCrystal(64);

    expect(maps).to.have.property("diffuse");
  });

  it("CoA 3: Should generate Bridge texture (ID 20)", () => {
    const gen = new CrystalSpiresTextureGenerator(123);
    const maps = gen.generateBridge(64);

    expect(maps).to.have.property("diffuse");
  });
});
