Package

Source Code of BasicCFormatTest

/*
* Name:    BasicCFormatTest
* Authors: Richard Rodger
*
* Copyright (c) 2000-2004 Richard Rodger
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/


// package
// none


// import
import org.jostraca.util.FileUtil;
import org.jostraca.util.PropertySet;

import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;

import java.io.PrintWriter;
import java.io.File;



/**
*  Test cases for BasicCWriterFormat
*/
public class BasicCFormatTest extends BasicFormatTestSupport {

  public static final boolean RUN_ONLY_COMMENTED_OUT = false;


  public static final String C_FOLDER           = "c";
  public static final String C_TEMPLATE_SUFFIX  = "_c.jtm";


  public BasicCFormatTest( String rName ) {
    super( rName );
  }

  public static TestSuite suite() {
    return new TestSuite( BasicCFormatTest.class );
  }

  public static void main( String[] rArgs ) {
    handleArgs( rArgs );
    TestRunner.run( suite() );
  }



  public String getTestFolder() {
    return C_FOLDER;
  }


  public String getJostracaCodeWriterFileName() {
    return "Writer.c";
  }


  public boolean argArrayContainsProgramName() {
    return true;
  }


  // test methods

  public void testMethodInsert() throws Exception {
    if( RUN_ONLY_COMMENTED_OUT ) { return; }
    generateTemplate( TEST_MethodInsert );
    assertTrue( validateMethodInsert() );

    PropertySet        testPS = getTestPS();
    PropertySet refPS  = getReferencePS();
    refPS.clear();

    refPS.set("boolean""1");
    assertTrue( testPS.contains( refPS ) );
  }





  // protected methods

  protected String makeCMDForTemplate( String  rTemplateNameSansSuffix,
                                       String  rExtraJostracaArgs,
                                       String  rCodeWriterArgs,
                                       boolean rSetOutputFolder
                                       ) {

    String codeWriterArgs = "";
    if( 0 < rCodeWriterArgs.length() ) {
      codeWriterArgs = rCodeWriterArgs;
    }

   
    String templateName     = PREFIX_TEST + rTemplateNameSansSuffix + C_TEMPLATE_SUFFIX;
    File   templateFilePath = new File( C_FOLDER, templateName );

    String setOutputFolder = "";
    if( rSetOutputFolder ) {
      setOutputFolder = " " + "-o " + getTestFolder();
    }

    String cmd             
      = getJostracaCmd()
      + " -cgB "
      //+ " " + "-Djostraca.support.ForceScriptByPath=yes"
      + setOutputFolder
      + " " + rExtraJostracaArgs
      + " " + templateFilePath.getParent()
      + "/" + templateFilePath.getName()
      + " " + codeWriterArgs;

    return cmd;
  }

}
TOP

Related Classes of BasicCFormatTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.