2025-03-14 11:59:49 +01:00
|
|
|
import {moveLevel, resizeLevel, setBrick} from "./levels_editor_util";
|
|
|
|
|
|
|
|
const baseLevel = {
|
|
|
|
name: '',
|
|
|
|
bricks: 'AAAA',
|
|
|
|
size: 2,
|
|
|
|
svg: null,
|
|
|
|
color: ''
|
|
|
|
}
|
|
|
|
describe('resizeLevel', () => {
|
|
|
|
it('should expand levels', () => {
|
|
|
|
expect(resizeLevel(baseLevel, 1)).toStrictEqual({bricks: 'AA_AA____', size: 3});
|
|
|
|
})
|
|
|
|
it('should shrink levels', () => {
|
|
|
|
expect(resizeLevel(baseLevel, -1)).toStrictEqual({bricks: 'A', size: 1});
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('moveLevel', () => {
|
|
|
|
|
|
|
|
it('should do nothing when coords are 0/0', () => {
|
|
|
|
expect(moveLevel(baseLevel, 0, 0)).toStrictEqual({bricks: 'AAAA'});
|
|
|
|
})
|
|
|
|
it('should move right', () => {
|
|
|
|
expect(moveLevel(baseLevel, 1, 0)).toStrictEqual({bricks: '_A_A'});
|
|
|
|
})
|
|
|
|
it('should move left', () => {
|
|
|
|
expect(moveLevel(baseLevel, -1, 0)).toStrictEqual({bricks: 'A_A_'});
|
|
|
|
})
|
|
|
|
it('should move up', () => {
|
|
|
|
expect(moveLevel(baseLevel, 0, -1)).toStrictEqual({bricks: 'AA__'});
|
|
|
|
})
|
|
|
|
it('should move down', () => {
|
|
|
|
expect(moveLevel(baseLevel, 0, 1)).toStrictEqual({bricks: '__AA'});
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
describe('setBrick', () => {
|
|
|
|
it('should set the first brick', () => {
|
|
|
|
expect(setBrick(baseLevel, 0, 'C')).toStrictEqual({bricks: 'CAAA'});
|
|
|
|
})
|
|
|
|
it('should any brick', () => {
|
|
|
|
expect(setBrick(baseLevel, 2, 'C')).toStrictEqual({bricks: 'AACA'});
|
|
|
|
})
|
|
|
|
})
|