// Initializes a new line with its starting and ending points. Line* newLine(Vector* start, Vector* end) { Line* l = alloc(Line, 1); l->start = (start != NULL ? start : emptyVector()); l->end = (end != NULL ? end : emptyVector()); return l; }
void TestFSPropSet() { cDebug d("TestFSPropSet"); cFSPropSet propSet; // mess around with inode... d.TraceDebug("Setting Inode (property %d)\n", cFSPropSet::PROP_INODE); propSet.SetInode(53); TEST(propSet.GetInode() == 53); d.TraceDebug("Valid Vector is now \n"); PrintPropVector(propSet.GetValidVector(), d); TEST(cFSPropSet::PROP_INODE == propSet.GetPropIndex(_T("Inode Number"))); TEST(TSTRING(_T("Inode Number")).compare(propSet.GetPropName(cFSPropSet::PROP_INODE)) == 0); // mess around with blocks... d.TraceDebug("Setting Blocks (property %d)\n", cFSPropSet::PROP_BLOCKS); propSet.SetBlocks(50); TEST(propSet.GetBlocks() == 50); d.TraceDebug("Valid Vector is now \n"); PrintPropVector(propSet.GetValidVector(), d); TEST(cFSPropSet::PROP_BLOCKS == propSet.GetPropIndex(_T("Blocks"))); TEST(TSTRING(_T("Blocks")).compare(propSet.GetPropName(cFSPropSet::PROP_BLOCKS)) == 0); // try copying it... cFSPropSet ps2 = propSet; d.TraceDebug("Copied Object's Valid Vector:\n"); PrintPropVector(propSet.GetValidVector(), d); TEST(ps2.GetValidVector() == propSet.GetValidVector()); TEST(ps2.GetBlocks() == propSet.GetBlocks()); TEST(ps2.GetInode() == propSet.GetInode()); // try invalidating properties... propSet.InvalidateProp(cFSPropSet::PROP_INODE); TEST( propSet.GetValidVector().ContainsItem(cFSPropSet::PROP_INODE) == false ); propSet.InvalidateAll(); cFCOPropVector emptyVector(propSet.GetValidVector().GetSize()); TEST(propSet.GetValidVector() == emptyVector); return; }