package org.shedlang.compiler.shidtopatio; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.shedlang.compiler.shid.instructions.ShidDeclareNativeFunction; import org.shedlang.compiler.shid.instructions.ShidParam; import org.shedlang.compiler.sources.Sources; import org.shedlang.compiler.testing.snapshots.SnapshotResolver; import org.shedlang.compiler.testing.snapshots.Snapshotter; import org.shedlang.compiler.types.NamespaceName; import java.io.IOException; import java.util.List; import static org.shedlang.compiler.shidtopatio.ShidToPatioTesting.serialize; @ExtendWith({SnapshotResolver.class}) public class ShidToPatioDeclareNativeFunctionTests { @Test public void canDeclareNativeFunction(Snapshotter snapshotter) throws IOException { var instruction = new ShidDeclareNativeFunction( NamespaceName.of("Example", "Project"), "f", List.of( new ShidParam("p1", Sources.NULL), new ShidParam("p2", Sources.NULL) ), List.of( new ShidParam("n1", Sources.NULL), new ShidParam("n2", Sources.NULL) ), Sources.NULL ); var context = ShidToPatioContext.EMPTY; var result = ShidToPatio.generateInstruction(instruction, context); snapshotter.assertSnapshot(serialize(result)); } }