import {Image} from '@avocado/graphics'; import {resource} from '@avocado/resource'; import {Latus} from '@latus/core'; import {expect} from 'chai'; Image.root = 'test/fixtures'; describe('@avocado/topdown', () => { describe('Tileset', () => { let latus; beforeEach(async () => { latus = Latus.mock({ '@avocado/resource': require('@avocado/resource'), '@avocado/topdown': require('../src'), }); await Promise.all(latus.invokeFlat('@latus/core/starting')); const {fromResourceType: {Tileset}} = resource(latus); Tileset.root = 'test/fixtures'; }); it("has sane defaults", async () => { const {fromResourceType: {Tileset}} = resource(latus); const tileset = new Tileset(); expect(tileset.tileSize).to.deep.equal([0, 0]); expect(tileset.image).to.equal(undefined); }); it("can load", async () => { const {fromResourceType: {Tileset}} = resource(latus); const tileset = await Tileset.load({extends: '/test.tileset.json'}); expect(tileset.tileSize).to.deep.equal([4, 4]); expect(tileset.image.size).to.deep.equal([16, 16]); expect(tileset.subimages.length).to.equal(16); expect(tileset.subimage(0).size).to.deep.equal([4, 4]); }); }); });