
USING Progress.Lang.*.
USING OpenEdge.Core.Assert.

block-level on error undo, throw.
class tests.preproc.TestPositionalArgsWithEmbeddedComment:
    
    @Setup.
    method public void setUp(  ):
        session:suppress-warnings = false no-error.
    end method.

    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment01(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1" /* "tuff" */ &name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1 ~{2} /* ~{3} tuff ~{4} */ ~{5} &name2=2 ~{6}  ~{7} 1stpos &name1=1 /* tuff */ &name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.

    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment02(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1"/* "tuff" */ &name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1/* ~{2} tuff ~{3} */ ~{4} &name2=2 ~{5}  ~{6}  ~{7} 1stpos &name1=1/* tuff */ &name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.
    
    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment03(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1" /* "tuff" */&name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1 ~{2} /* ~{3} tuff ~{4} */&name2=2 ~{5}  ~{6}  ~{7} 1stpos &name1=1 /* tuff */&name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.
    
    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment04(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1"/*"tuff" */ &name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1/*tuff ~{2} */ ~{3} &name2=2 ~{4}  ~{5}  ~{6}  ~{7} 1stpos &name1=1/*tuff */ &name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.
    
    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment05(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1"/*"tuff"*/ &name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1/*tuff*/ ~{2} &name2=2 ~{3}  ~{4}  ~{5}  ~{6}  ~{7} 1stpos &name1=1/*tuff*/ &name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.
    
    @Test.
    METHOD PUBLIC VOID TestPositionalArgsWithEmbeddedComment06(  ):  
        def var x as char.
        x = {tests/preproc/support/show_preproc_args.i "1stpos" &name1="1"/*"tuff"*/&name2="2"}
        Assert:Equals(' ~{name1}  ~{name2} 1stpos ~{1} &name1=1/*tuff*/&name2=2 ~{2}  ~{3}  ~{4}  ~{5}  ~{6}  ~{7} 1stpos &name1=1/*tuff*/&name2=2 ~{*} "" ~{* (named)}', x).
    END METHOD.
    
    @TearDown.
    method public void tearDown(  ):
        
        return.

    end method.
end class.


