build(Shell::root(ListType::native(), null)); self::assertSame([], $node->value()); self::assertEmpty($node->children()); } public function test_invalid_type_fails_assertion(): void { $this->expectException(AssertionError::class); (new RootNodeBuilder(new ListNodeBuilder()))->build(Shell::root(new FakeType(), [])); } public function test_build_with_invalid_source_throws_exception(): void { $this->expectException(SourceMustBeIterable::class); $this->expectExceptionCode(1618739163); $this->expectExceptionMessage('Source must be iterable in order to be cast to `list`, but is of type `string`.'); (new RootNodeBuilder(new ListNodeBuilder()))->build(Shell::root(ListType::native(), 'foo')); } }