UNPKG

@wiz-code/async-fsm

Version:

Finite StateMachine JavaScript Library

35 lines (24 loc) 952 B
var Subject = require('../src/subject'); var assert = require('assert'); var completedTests = 0; var result = ''; var subject = new Subject(); var hogeObj = { update: function (hoge) {result = hoge;} }; subject.setObserverType(['hoge', 'fuga']); assert.notEqual(subject._observers['fuga'], undefined, 'this type is not found.'); completedTests++; subject.addObserver('hoge', hogeObj); assert.equal(subject.countObservers('hoge'), 1, 'Number of observers should be 1.'); completedTests++; assert.ok(subject.hasObserver('hoge', hogeObj), 'subject should have hogeObj.'); completedTests++; subject.removeObserver('hoge', hogeObj); assert.equal(subject.hasObserver('hoge', hogeObj), false, 'subject shouldn\'t have hogeObj.'); completedTests++; subject.addObserver('hoge', hogeObj); subject.notify('hoge', 'hoge'); assert.equal(result, 'hoge', 'result should be \'hoge\'.'); completedTests++; console.log('completedTests: ', completedTests);