# inspect::testing

## Summary

| ### Typedefs ||
|---|---|
| `https://fuchsia.dev/reference/cpp/namespace/inspect/testing#namespaceinspect_1_1testing_1a8eb46b8f7de91f55fd2374ee2fd962a7` | using `https://fuchsia.dev/reference/cpp/class/fidl/wire-client#classfidl_1_1_wire_client< fuchsia_inspect::Tree >` |
| `https://fuchsia.dev/reference/cpp/namespace/inspect/testing#namespaceinspect_1_1testing_1a552dacb35438f9f88170552e8dcfbc78` | using `https://fuchsia.dev/reference/cpp/class/fidl/wire-client#classfidl_1_1_wire_client< fuchsia_inspect::TreeNameIterator >` |

| ### Functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/namespace/inspect/testing#namespaceinspect_1_1testing_1a494d4274ac3434cebbefa0a9d08aa1a2(https://fuchsia.dev/reference/cpp/class/fidl/wire-client#classfidl_1_1_wire_client & iter)` | `https://fuchsia.dev/reference/cpp/class/fpromise/promise-impl#classfpromise_1_1promise__impl< std::vector< std::string > >` Collect all of the names of the children of the `https://fuchsia.dev/reference/cpp/class/inspect/inspector#classinspect_1_1_inspector` managed by the tree server which started the [TreeNameIterator](https://fuchsia.dev/reference/cpp/class/inspect/tree-name-iterator#classinspect_1_1_tree_name_iterator) server. |
| `https://fuchsia.dev/reference/cpp/namespace/inspect/testing#namespaceinspect_1_1testing_1ab0ce19fb9ef2c3ddec8d53323141aeef(https://fuchsia.dev/reference/cpp/class/fidl/wire-client#classfidl_1_1_wire_client & tree, async_dispatcher_t *dispatcher)` | `https://fuchsia.dev/reference/cpp/class/fpromise/promise-impl#classfpromise_1_1promise__impl< https://fuchsia.dev/reference/cpp/class/inspect/hierarchy#classinspect_1_1_hierarchy >` Turn a Tree handle into a complete hierarchy, including lazy children/values. |

## Typedefs

### TreeClient

```c++
fidl::WireClient< fuchsia_inspect::Tree > TreeClient
```

### TreeNameIteratorClient

```c++
fidl::WireClient< fuchsia_inspect::TreeNameIterator > TreeNameIteratorClient
```

## Functions

### ReadAllChildNames

```c++
fpromise::promise< std::vector< std::string > > ReadAllChildNames(
  TreeNameIteratorClient & iter
)
```
Collect all of the names of the children of the `https://fuchsia.dev/reference/cpp/class/inspect/inspector#classinspect_1_1_inspector` managed by the tree server which started the [TreeNameIterator](https://fuchsia.dev/reference/cpp/class/inspect/tree-name-iterator#classinspect_1_1_tree_name_iterator) server.

Essentially, it drains the iterator.

### ReadFromTree

```c++
fpromise::promise< Hierarchy > ReadFromTree(
  TreeClient & tree,
  async_dispatcher_t *dispatcher
)
```
Turn a Tree handle into a complete hierarchy, including lazy children/values.

This function uses `ZX_ASSERT` if it encounters FIDL errors.