import { code, namekey, Output, refkey } from "@alloy-js/core";
import { expect, it } from "vitest";
import * as jv from "../src/components/index.js";
import { TestPackage } from "./utils.js";
it("works", () => {
expect(
,
).toRenderTo(`
package me.test.code;
public enum TestEnum {}
`);
});
it("takes a namekey", () => {
expect(
,
).toRenderTo(`
package me.test.code;
public enum TestEnum {}
`);
});
it("implements interfaces", () => {
expect(
,
).toRenderTo(
{
"me/test/code/InterfaceOne.java": expect.any(String),
"me/test/code/InterfaceTwo.java": expect.any(String),
"me/test/code/import/TestEnum.java": `
package me.test.code.import;
import me.test.code.InterfaceOne;
import me.test.code.InterfaceTwo;
public enum TestEnum implements InterfaceOne, InterfaceTwo {}
`,
},
{ printWidth: 100 },
);
});
it("declares members", () => {
expect(
,
).toRenderTo(`
package me.test.code;
public enum TestEnum {
ONE,
TWO;
}
`);
});
it("declares members with arguments", () => {
expect(
]} />
]} />
,
).toRenderTo(`
package me.test.code;
public enum TestEnum {
ONE("One"),
TWO("Two");
TestEnum(String value) {}
}
`);
});