package cz.habarta.typescript.generator; import org.junit.Assert; import org.junit.Test; public class InterfaceTest { @Test public void test() { final Settings settings = TestUtils.settings(); final String output = new TypeScriptGenerator(settings).generateTypeScript(Input.from(Book.class)); Assert.assertTrue(output.contains("interface Book")); Assert.assertTrue(output.contains("title: string;")); Assert.assertTrue(output.contains("interface Author")); } @Test public void testReadOnlyProperties() { final Settings settings = TestUtils.settings(); settings.declarePropertiesAsReadOnly = true; final String output = new TypeScriptGenerator(settings).generateTypeScript(Input.from(Book.class)); Assert.assertTrue(output.contains("readonly author: Author;")); Assert.assertTrue(output.contains("readonly title: string;")); Assert.assertTrue(output.contains("readonly name: string;")); } static interface Book { Author getAuthor(); String getTitle(); } static interface Author { String getName(); } }