skynovel
Version:
webgl novelgame framework
357 lines (325 loc) • 11.3 kB
text/typescript
/* ***** BEGIN LICENSE BLOCK *****
Copyright (c) 2018-2020 Famibee (famibee.blog38.fc2.com)
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
** ***** END LICENSE BLOCK ***** */
import assert = require('power-assert');
import {Areas} from '../core/src/sn/Areas';
context('class AreasTest', ()=>{
let areas;
beforeEach(()=> {
areas = new Areas();
});
describe('Tst', ()=> {
it('test_record_erase_0', ()=> {
assert.equal(areas.search(-1), false);
assert.equal(areas.search(0), false);
assert.equal(areas.search(1), false);
assert.equal(areas.count, 0);
areas.record(0);
assert.equal(areas.search(-1), false);
assert.equal(areas.search(0), true);
assert.equal(areas.search(1), false);
assert.equal(areas.count, 1);
areas.record(0);
assert.equal(areas.search(-1), false);
assert.equal(areas.search(0), true);
assert.equal(areas.search(1), false);
assert.equal(areas.count, 1);
areas.erase(0);
assert.equal(areas.search(-1), false);
assert.equal(areas.search(0), false);
assert.equal(areas.search(1), false);
assert.equal(areas.count, 0);
});
it('test_record', ()=> {
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), false);
assert.equal(areas.search(11), false);
assert.equal(areas.search(12), false);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 0);
areas.record(10);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), false);
assert.equal(areas.search(12), false);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.record(12);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), false);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 2);
areas.record(11);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.record(9);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
/*
import flash.utils.ByteArray;
const ba:ByteArray = new ByteArray();
ba.writeObject(areas);
ba.position = 0;
const o2:* = ba.readObject();
assert.equal(o2 is Areas, true);
assert.equal(o2.search(8), false);
assert.equal(o2.search(9), true);
assert.equal(o2.search(10), true);
assert.equal(o2.search(11), true);
assert.equal(o2.search(12), true);
assert.equal(o2.search(13), true);
assert.equal(o2.search(14), false);
assert.equal(o2.count, 1);
*/
});
it('test_replace', ()=> {
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), false);
assert.equal(areas.search(11), false);
assert.equal(areas.search(12), false);
assert.equal(areas.count, 0);
areas.record(9);
areas.record(10);
areas.record(11);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.count, 1);
areas.record(9);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.count, 1);
areas.record(10);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.count, 1);
areas.record(11);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.count, 1);
});
it('test_erase_7_8_14', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(7);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(8);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(14);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
it('test_erase_9', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(9);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
it('test_erase_10_9', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(10);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), false);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 2);
areas.erase(9);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), false);
assert.equal(areas.search(10), false);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
it('test_erase_12_13', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(12);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 2);
areas.erase(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), false);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
it('test_erase_13', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), false);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
it('test_erase_14', ()=> {
areas.record(9);
areas.record(10);
areas.record(11);
areas.record(12);
areas.record(13);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
areas.erase(14);
assert.equal(areas.search(8), false);
assert.equal(areas.search(9), true);
assert.equal(areas.search(10), true);
assert.equal(areas.search(11), true);
assert.equal(areas.search(12), true);
assert.equal(areas.search(13), true);
assert.equal(areas.search(14), false);
assert.equal(areas.count, 1);
});
});
});