Preserve stolen intel evidence and safely clean up spent folders
This commit is contained in:
@@ -63,6 +63,10 @@ int main(){
|
||||
ERR_IssuedIntel a{&present,"radio-1"},b{&missing,"mortar-3"},c{nullptr,"depot-1"};ERR_BodyEvidence record{&body,{&a,&b,&c},false};Evidence service;service.record=&record;Array<string> result;
|
||||
observer.position={3,0,0};assert(service.Inspect(&body,&observer,result));assert(result.size()==2&&result.Contains("mortar-3")&&result.Contains("depot-1")&&!result.Contains("radio-1"));
|
||||
assert(!service.Inspect(&body,&observer,result));
|
||||
// Engine deletion clears the weak entity reference, not the issued site.
|
||||
// A consumed folder must remain reportable as missing after physical cleanup.
|
||||
record.Searched=false;b.Folder=nullptr;
|
||||
assert(service.Inspect(&body,&observer,result)&&result.Contains("mortar-3"));
|
||||
Entity wreck,seat,unrelated;body.parent=&seat;seat.parent=&wreck;service.m_Roster={&record};
|
||||
assert(service.RetainedWithin(&body)&&service.RetainedWithin(&seat)&&service.RetainedWithin(&wreck));
|
||||
assert(!service.RetainedWithin(&unrelated)&&!service.RetainedWithin(nullptr));
|
||||
|
||||
Reference in New Issue
Block a user