src/vs/workbench/api/common/extHostTypes.ts/TestItemImpl/constructor
class TestItemImpl:	constructor(id: string, label: string, uri: vscode.Uri | undefined, public data: any, parent: vscode.TestItem | undefined) {
		const api = getPrivateApiFor(this);

		Object.defineProperties(this, {
			id: {
				value: id,
				enumerable: true,
				writable: false,
			},
			uri: {
				value: uri,
				enumerable: true,
				writable: false,
			},
			parent: {
				enumerable: false,
				value: parent,
				writable: false,
			},
			children: {
				value: new ReadonlyMapView(api.children),
				enumerable: true,
				writable: false,
			},
			range: testItemPropAccessor(api, 'range', undefined, rangeComparator),
			label: testItemPropAccessor(api, 'label', label, strictEqualComparator),
			description: testItemPropAccessor(api, 'description', undefined, strictEqualComparator),
			runnable: testItemPropAccessor(api, 'runnable', true, strictEqualComparator),
			debuggable: testItemPropAccessor(api, 'debuggable', false, strictEqualComparator),
			canResolveChildren: testItemPropAccessor(api, 'canResolveChildren', false, strictEqualComparator),
			busy: testItemPropAccessor(api, 'busy', false, strictEqualComparator),
			error: testItemPropAccessor(api, 'error', undefined, strictEqualComparator),
		});

		if (parent) {
			if (!(parent instanceof TestItemImpl)) {
				throw new Error(`The "parent" passed in for TestItem ${id} is invalid`);
			}

			const parentApi = getPrivateApiFor(parent);
			if (parentApi.children.has(id)) {
				throw new Error(`Attempted to insert a duplicate test item ID ${id}`);
			}

			parentApi.children.set(id, this);
			parentApi.bus.fire([ExtHostTestItemEventType.NewChild, this]);
		}
	}