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
|