| 627 | |
| 628 | |
| 629 | def test_optimize_nested(): |
| 630 | a = dask.delayed(inc)(1) |
| 631 | b = dask.delayed(inc)(a) |
| 632 | c = a + b |
| 633 | |
| 634 | result = optimize({"a": a, "b": [1, 2, b]}, (c, 2)) |
| 635 | |
| 636 | a2 = result[0]["a"] |
| 637 | b2 = result[0]["b"][2] |
| 638 | c2 = result[1][0] |
| 639 | |
| 640 | assert isinstance(a2, Delayed) |
| 641 | assert isinstance(b2, Delayed) |
| 642 | assert isinstance(c2, Delayed) |
| 643 | assert dict(a2.dask) == dict(b2.dask) == dict(c2.dask) |
| 644 | assert compute(*result) == ({"a": 2, "b": [1, 2, 3]}, (5, 2)) |
| 645 | |
| 646 | res = optimize([a, b], c, traverse=False) |
| 647 | assert res[0][0] is a |
| 648 | assert res[0][1] is b |
| 649 | assert res[1].compute() == 5 |
| 650 | |
| 651 | |
| 652 | def test_default_imports(): |