package cz.habarta.typescript.generator; import java.io.*; import org.junit.*; import static org.junit.Assert.*; public class StyleConfigurationTest { @Test public void testOutputWithCustomStyle() { final ByteArrayOutputStream output = new ByteArrayOutputStream(); final Settings settings = TestUtils.settings(); settings.addTypeNamePrefix = "I"; settings.sortDeclarations = true; String expected = "" + "" + settings.newline + " export interface IA {" + settings.newline + " b: IB;" + settings.newline + " x: number;" + settings.newline + " }" + settings.newline + "" + settings.newline + " export interface IB {" + settings.newline + " s: string;" + settings.newline + " }" + settings.newline + ""; new TypeScriptGenerator(settings).generateEmbeddableTypeScript(Input.from(A.class), Output.to(output), true, 1); assertEquals(expected, new String(output.toByteArray())); } public static class A { public int getX() { return -1; } public B getB() { return null; } } public static class B { public String getS() { return null; } } @Test public void testTypeNameCustomizations() { final Settings settings = TestUtils.settings(); settings.removeTypeNamePrefix = "Json"; settings.removeTypeNameSuffix = "Class"; settings.addTypeNamePrefix = "I"; settings.addTypeNameSuffix = "JSON"; final TsType tsType = TestUtils.compileType(settings, JsonTestClass.class); assertEquals("ITestJSON", tsType.toString()); } private static class JsonTestClass { } }