⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productpersistencetestcase.cpp

📁 著名的uncle Bob的Agile software development的代码
💻 CPP
字号:
#include "ProductPersistenceTestCase.h"
#include <strstream.h>
#include "product.h"
#include "persistentProduct.h"
#include "persistentObject.h"
#include "assembly.h"
#include "persistentAssembly.h"

void ProductPersistenceTestCase::setUp ()
{
}

void ProductPersistenceTestCase::testWriteProduct()
{
  ostrstream s;
  Product* p = new PersistentProduct("Cheerios");
  PersistentObject* po = dynamic_cast<PersistentObject*>(p);
  assert(po);
  po->write(s);
  char* writtenString = s.str();
  assert(strcmp("<PRODUCT><NAME>Cheerios</NAME></PRODUCT>", writtenString) == 0);
}

void ProductPersistenceTestCase::testWriteAssembly()
{
  ostrstream s;
  Assembly* a = new PersistentAssembly("Wheaties", "7734");
  PersistentObject* po = dynamic_cast<PersistentObject*>(a);
  assert(po);
  po->write(s);
  char* writtenString = s.str();
  assert(strcmp("<ASSEMBLY><NAME>Wheaties</NAME><ASSYCODE>7734</ASSYCODE></ASSEMBLY>", writtenString) == 0);

}

//------------------------------------------
template <class T> 
TestCaller<T>* makeTestCaller(char* name, void (T::*f)() )
{
  return new TestCaller<T>(name, f);
}

Test *ProductPersistenceTestCase::suite ()
{
  TestSuite *testSuite = new TestSuite ("ProductPersistenceTestCase");
    testSuite->addTest (makeTestCaller("testWriteProduct", &ProductPersistenceTestCase::testWriteProduct));
    testSuite->addTest (makeTestCaller("testWriteAssembly", &ProductPersistenceTestCase::testWriteAssembly));

  return testSuite;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -