public void TestPreWrite() { CreateBasicDirectoryProperty(); _property.PreWrite(); // shouldn't Change anything at all VerifyProperty(); VerifyChildren(0); // now try Adding 1 property CreateBasicDirectoryProperty(); _property.AddChild(new LocalProperty(1)); _property.PreWrite(); // update children index _testblock[0x4C] = 1; _testblock[0x4D] = 0; _testblock[0x4E] = 0; _testblock[0x4F] = 0; VerifyProperty(); VerifyChildren(1); // now try Adding 2 properties CreateBasicDirectoryProperty(); _property.AddChild(new LocalProperty(1)); _property.AddChild(new LocalProperty(2)); _property.PreWrite(); // update children index _testblock[0x4C] = 2; _testblock[0x4D] = 0; _testblock[0x4E] = 0; _testblock[0x4F] = 0; VerifyProperty(); VerifyChildren(2); // beat on the children allocation code for (int count = 1; count < 100; count++) { CreateBasicDirectoryProperty(); for (int j = 1; j < (count + 1); j++) { _property.AddChild(new LocalProperty(j)); } _property.PreWrite(); VerifyChildren(count); } }