@ParameterizedTest
    @MethodSource("truthyAndFalseyTestCases")
    public void truthyAndFalsey(Object fooValue, String expected) {
        String template = "${?foo}A${/foo}${^foo}B${/foo}";
        String actual = new SimpleCodeWriter()
                .trimTrailingSpaces(false)
                .insertTrailingNewline(false)
                .putContext("foo", fooValue)
                .write(template)
                .toString();

        assertThat(actual, equalTo(expected));
    }
\n"
                                + " * Foo \"foo!\"\n"
                                + " *\n"
                                + " * \"baz\"!\n"
                                + " * Yap!\n"
                                + " *     This is indented, in flow of parent.\n"
                                + " *     Yap!\n"
                                + " *     Yap?\n"
                                + " *     # Has a prefix\n"
                                + " *     # Yes\n"
                                + "
smithy-utils/src/test/java/software/amazon/smithy/utils/CodeWriterTest.java