Ejemplo n.º 1
0
int main(int n, char **p)
{
	Step::RefPtr<ifc2x3::ExpressDataSet> eds ;
	try
	{
		std::cout << "Creating ExpressDataSet" << std::endl;
		eds = new ifc2x3::ExpressDataSet;
	}
	catch (const std::exception& e)
	{
		TEST_FAILURE((std::string("Exception : ") + e.what()).c_str());
	}

	TEST_VALIDITY(eds);

	Step::RefPtr< ifc2x3::IfcTable > Table = eds->createIfcTable();
	TEST_VALIDITY(Table);

	TEST_ASSERT(Table->getNumberOfCellsInRow()==0);
	TEST_ASSERT(Table->getNumberOfHeadings()==0);
	TEST_ASSERT(Table->getNumberOfDataRows()==0);
	
	Table->setName("Table");
	Step::RefPtr< ifc2x3::IfcTableRow > TableRow1 = eds->createIfcTableRow();
	Step::RefPtr< ifc2x3::IfcValue > Value = new ifc2x3::IfcValue();
	Value->setIfcVolumeMeasure(0.0);
	TableRow1->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(1.0);
	TableRow1->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(2.0);
	TableRow1->getRowCells().push_back(Value);
	TableRow1->setIsHeading(Step::BTrue);
	Table->getRows().push_back(TableRow1);
	LOG_DEBUG("Table->getNumberOfCellsInRow()=" << Table->getNumberOfCellsInRow() << std::endl);
	TEST_ASSERT(Table->getNumberOfCellsInRow()==3);
	LOG_DEBUG("Table->getNumberOfHeadings()=" << Table->getNumberOfHeadings() << std::endl);
	TEST_ASSERT(Table->getNumberOfHeadings()==1);
	LOG_DEBUG("Table->getNumberOfDataRows()=" << Table->getNumberOfDataRows() << std::endl);
	TEST_ASSERT(Table->getNumberOfDataRows()==0);

	Step::RefPtr< ifc2x3::IfcTableRow > TableRow2 = eds->createIfcTableRow();
	Value->setIfcVolumeMeasure(3.0);
	TableRow2->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(4.0);
	TableRow2->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(5.0);
	TableRow2->getRowCells().push_back(Value);
	TableRow2->setIsHeading(Step::BFalse);
	Table->getRows().push_back(TableRow2);
	LOG_DEBUG("Table->getNumberOfCellsInRow()=" << Table->getNumberOfCellsInRow() << std::endl);
	TEST_ASSERT(Table->getNumberOfCellsInRow()==3);
	LOG_DEBUG("Table->getNumberOfHeadings()=" << Table->getNumberOfHeadings() << std::endl);
	TEST_ASSERT(Table->getNumberOfHeadings()==1);
	LOG_DEBUG("Table->getNumberOfDataRows()=" << Table->getNumberOfDataRows() << std::endl);
	TEST_ASSERT(Table->getNumberOfDataRows()==1);
	Step::RefPtr< ifc2x3::IfcTableRow > TableRow3 = eds->createIfcTableRow();
	Value->setIfcVolumeMeasure(6.0);
	TableRow3->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(7.0);
	TableRow3->getRowCells().push_back(Value);
	Value->setIfcVolumeMeasure(8.0);
	TableRow3->getRowCells().push_back(Value);
	TableRow3->setIsHeading(Step::BTrue);
	Table->getRows().push_back(TableRow3);
	LOG_DEBUG("Table->getNumberOfCellsInRow()=" << Table->getNumberOfCellsInRow() << std::endl);
	TEST_ASSERT(Table->getNumberOfCellsInRow()==3);
	LOG_DEBUG("Table->getNumberOfHeadings()=" << Table->getNumberOfHeadings() << std::endl);
	TEST_ASSERT(Table->getNumberOfHeadings()==2);
	LOG_DEBUG("Table->getNumberOfDataRows()=" << Table->getNumberOfDataRows() << std::endl);
	TEST_ASSERT(Table->getNumberOfDataRows()==1);

	std::cout << std::endl << "Failure : " << failure_results << " Success : " << success_results << std::endl;

	return failure_results;
}