public function testLoadValidConfiguration()
 {
     $loader = new YamlLoader(['assets_valid.yml']);
     $library = new LibraryCollection($loader->load([realpath(__DIR__ . '/../../Data/config')]));
     $this->assertTrue($library->hasDefinition('my-lib'));
     $this->assertTrue($library->hasDefinition('jquery'));
     $this->assertTrue($library->hasDefinition('jquery-ui'));
     $this->assertInstanceOf(ReferenceResource::class, $library->getDefinition('jquery-ui')[0]);
     $this->assertTrue($library->hasDefinition('glob-lib'));
     $this->assertEquals(1, $library->getDefinition('glob-lib')->count());
     $this->assertInstanceOf(GlobResource::class, $library->getDefinition('glob-lib')[0]);
 }
 public function testManipulateDefinitions()
 {
     $collection = new LibraryCollection([new LibraryDefinition('test', [new FileResource('/some/path/to/file')])]);
     $this->assertTrue($collection->hasDefinition('test'));
     $this->assertEquals(1, count($collection));
     $collection->addDefinition(new LibraryDefinition('first', [new FileResource('/path/to/a/file')]));
     $this->assertTrue($collection->hasDefinition('first'));
     $this->assertEquals(2, count($collection));
     $collection->removeDefinition('first');
     $this->assertFalse($collection->hasDefinition('first'));
     $this->assertSame(1, count($collection));
     $collection->addDefinitions([new LibraryDefinition('first', [new FileResource('/some/path/to/file')]), new LibraryDefinition('second', [new FileResource('/path/to/another/file')])]);
     $this->assertTrue($collection->hasDefinition('first'));
     $this->assertTrue($collection->hasDefinition('second'));
     $this->assertEquals(3, count($collection));
     $collection->removeDefinitions();
     $this->assertEquals(0, count($collection));
 }