Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv19979/src/rfta Modified Files: CodeWriterTest.cpp CodeWriterTest.h rfta.dsp Added Files: CodeWriterInsertTest.cpp CodeWriterInsertTest.h CodeWriterTestBase.cpp CodeWriterTestBase.h Log Message: * refactoring tests --- NEW FILE: CodeWriterInsertTest.cpp --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CodeWriterInsertTest.h" namespace Refactoring { RFTA_TEST_SUITE_REGISTRATION( CodeWriterInsertTest ); CodeWriterInsertTest::~CodeWriterInsertTest() { } void CodeWriterInsertTest::setUp() { CodeWriterTestBase::setUp(); source_ = "{\n" "}"; generateCompound(); RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); } void CodeWriterInsertTest::tearDown() { CodeWriterTestBase::tearDown(); } void CodeWriterInsertTest::checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement, const std::string &expectedSource ) { compound_->appendStatement( insertedStatement ); rewriteSource(); RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); } void CodeWriterInsertTest::testInsertNullStatement() { CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); checkGeneratedSource( nullStatement, "{\n" " ;\n" "}" ); } } // namespace Refactoring --- NEW FILE: CodeWriterInsertTest.h --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #ifndef RFTA_CODEWRITERINSERTTEST_H #define RFTA_CODEWRITERINSERTTEST_H #include "CodeWriterTestBase.h" namespace Refactoring { /// Unit tests for CodeWriterInsertTest class CodeWriterInsertTest : public CodeWriterTestBase { CPPUNIT_TEST_SUITE( CodeWriterInsertTest ); CPPUNIT_TEST( testInsertNullStatement ); CPPUNIT_TEST_SUITE_END(); public: /// Destructor. virtual ~CodeWriterInsertTest(); void setUp(); void tearDown(); void testInsertNullStatement(); private: void checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement, const std::string &expectedSource ); }; // Inlines methods for CodeWriterInsertTest: // ----------------------------------------- } // namespace Refactoring #endif // RFTA_CODEWRITERINSERTTEST_H --- NEW FILE: CodeWriterTestBase.cpp --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CodeWriterTestBase.h" #include <rfta/refactoring/CodeModel.h> namespace Refactoring { void CodeWriterTestBase::setUp() { SourceBasedTestBase::setUp(); compound_.reset(); document_.reset(); writer_.reset(); } void CodeWriterTestBase::tearDown() { writer_.reset(); document_.reset(); compound_.reset(); SourceBasedTestBase::tearDown(); } void CodeWriterTestBase::generateCompound() { blankAndParse(); ASTNodePtr compoundNode = sourceNode_->getChildAt(0); CodeModel::Generator generator; compound_ = generator.generateCompound( compoundNode ); document_.reset( new PlainTextDocument( source_ ) ); } void CodeWriterTestBase::rewriteSource() { writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); writer_->rewrite( *compound_, *document_ ); } CodeModel::ExpressionPtr CodeWriterTestBase::makeTrueExpression() { return makeExpression( "true" ); } CodeModel::ExpressionPtr CodeWriterTestBase::makeExpression( const std::string &expression ) { return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) ); } } // namespace Refactoring --- NEW FILE: CodeWriterTestBase.h --- // ////////////////////////////////////////////////////////////////////////// // (c)Copyright 2002, Baptiste Lepilleur. // Created: 2003/03/16 // ////////////////////////////////////////////////////////////////////////// #ifndef RFTA_CODEWRITERTESTBASE_H #define RFTA_CODEWRITERTESTBASE_H #include <rfta/refactoring/CodeModelStatements.h> #include <rfta/refactoring/CodeModelExpressions.h> #include <rfta/refactoring/PlainTextDocument.h> #include "CodeRewriter.h" #include "SourceBasedTestBase.h" namespace Refactoring { class CodeWriterTestBase : public SourceBasedTestBase { public: void setUp(); void tearDown(); protected: void generateCompound(); void rewriteSource(); CodeModel::ExpressionPtr makeTrueExpression(); CodeModel::ExpressionPtr makeExpression( const std::string &expression ); CodeModel::CompoundStatementPtr compound_; boost::shared_ptr<PlainTextDocument> document_; boost::shared_ptr<CodeModel::CodeRewriter> writer_; }; // Inlines methods for CodeWriterTestBase: // ---------------------------------------- } // namespace Refactoring #endif // RFTA_CODEWRITERTESTBASE_H Index: CodeWriterTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CodeWriterTest.cpp 16 Mar 2003 07:14:31 -0000 1.17 --- CodeWriterTest.cpp 16 Mar 2003 07:37:05 -0000 1.18 *************** *** 6,10 **** #include "stdafx.h" #include "CodeWriterTest.h" - #include <rfta/refactoring/CodeModel.h> --- 6,9 ---- *************** *** 28,35 **** CodeWriterTest::setUp() { ! SourceBasedTestBase::setUp(); ! compound_.reset(); ! document_.reset(); ! writer_.reset(); } --- 27,31 ---- CodeWriterTest::setUp() { ! CodeWriterTestBase::setUp(); } *************** *** 38,80 **** CodeWriterTest::tearDown() { ! writer_.reset(); ! document_.reset(); ! compound_.reset(); ! SourceBasedTestBase::tearDown(); ! } ! ! ! void ! CodeWriterTest::generateCompound() ! { ! blankAndParse(); ! ! ASTNodePtr compoundNode = sourceNode_->getChildAt(0); ! CodeModel::Generator generator; ! compound_ = generator.generateCompound( compoundNode ); ! ! document_.reset( new PlainTextDocument( source_ ) ); ! } ! ! ! void ! CodeWriterTest::rewriteSource() ! { ! writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); ! writer_->rewrite( *compound_, *document_ ); ! } ! ! ! CodeModel::ExpressionPtr ! CodeWriterTest::makeTrueExpression() ! { ! return makeExpression( "true" ); ! } ! ! ! CodeModel::ExpressionPtr ! CodeWriterTest::makeExpression( const std::string &expression ) ! { ! return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) ); } --- 34,38 ---- CodeWriterTest::tearDown() { ! CodeWriterTestBase::tearDown(); } *************** *** 212,237 **** void - CodeWriterTest::testInsertNullStatement() - { - source_ = "{\n" - "}"; - - generateCompound(); - - RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() ); - - CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() ); - compound_->appendStatement( nullStatement ); - - rewriteSource(); - - std::string expectedSource = "{\n" - " ;\n" - "}"; - RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); - } - - - void CodeWriterTest::testInsertWhileStatement() { --- 170,173 ---- *************** *** 533,536 **** --- 469,473 ---- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() ); } + } // namespace Refactoring Index: CodeWriterTest.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** CodeWriterTest.h 16 Mar 2003 07:14:31 -0000 1.14 --- CodeWriterTest.h 16 Mar 2003 07:37:05 -0000 1.15 *************** *** 6,14 **** #define RFTA_CODEWRITERTEST_H ! #include <rfta/refactoring/CodeModelStatements.h> ! #include <rfta/refactoring/CodeModelExpressions.h> ! #include <rfta/refactoring/PlainTextDocument.h> ! #include "SourceBasedTestBase.h" ! #include "CodeRewriter.h" --- 6,10 ---- #define RFTA_CODEWRITERTEST_H ! #include "CodeWriterTestBase.h" *************** *** 18,22 **** /// Unit tests for CodeWriterTest ! class CodeWriterTest : public SourceBasedTestBase { CPPUNIT_TEST_SUITE( CodeWriterTest ); --- 14,18 ---- /// Unit tests for CodeWriterTest ! class CodeWriterTest : public CodeWriterTestBase { CPPUNIT_TEST_SUITE( CodeWriterTest ); *************** *** 26,30 **** CPPUNIT_TEST( testRemoveStatement ); CPPUNIT_TEST( testMoveSubExpression ); - CPPUNIT_TEST( testInsertNullStatement ); CPPUNIT_TEST( testInsertWhileStatement ); CPPUNIT_TEST( testInsertContinueStatement ); --- 22,25 ---- *************** *** 57,61 **** void testRemoveStatement(); void testMoveSubExpression(); - void testInsertNullStatement(); void testInsertWhileStatement(); void testInsertContinueStatement(); --- 52,55 ---- *************** *** 72,83 **** private: - void generateCompound(); - void rewriteSource(); - CodeModel::ExpressionPtr makeTrueExpression(); - CodeModel::ExpressionPtr makeExpression( const std::string &expression ); - - CodeModel::CompoundStatementPtr compound_; - boost::shared_ptr<PlainTextDocument> document_; - boost::shared_ptr<CodeModel::CodeRewriter> writer_; }; --- 66,69 ---- Index: rfta.dsp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/rfta.dsp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** rfta.dsp 15 Mar 2003 17:01:32 -0000 1.39 --- rfta.dsp 16 Mar 2003 07:37:05 -0000 1.40 *************** *** 927,930 **** --- 927,938 ---- # Begin Source File + SOURCE=.\CodeWriterInsertTest.cpp + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterInsertTest.h + # End Source File + # Begin Source File + SOURCE=.\CodeWriterTest.cpp *************** *** 950,953 **** --- 958,969 ---- !ENDIF + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterTestBase.cpp + # End Source File + # Begin Source File + + SOURCE=.\CodeWriterTestBase.h # End Source File # End Group |