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( {code` public interface InterfaceOne { } `} {code` public interface InterfaceTwo { } `} , ).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) {} } `); });