/** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2018-05-22 01:13:13 * @modify date 2020-09-01 17:04:33 * @desc [description] */ /** Clear the Screen */ declare const process: any; import { Builder } from '../../mod-Assembly-Builder/src/Container-Builder.FileLoader'; import * as PUBSUB from '../assembly/manual-assembly'; import { addObservables } from '../src/Pub-Sub-Observable'; Builder.instance.addElements(PUBSUB.EXPORT) Builder.instance.addActivationHandler(addObservables); Builder.load(); Builder.on('loaded', () => { /** Create A PubSubSystem */ const _matcher = Builder.instance.container.get(PUBSUB.TYPES.DefaultMatcher); const _test = [ { subscription: 'test.child', offered: 'test', result: true, }, { subscription: 'test.child', offered: 'test.child', result: true, }, { subscription: 'test.child', offered: 'test.child.sub', result: true, }, { subscription: '+.child', offered: 'test', result: false, }, { subscription: '+.child', offered: 'hans.child', result: true, }, { subscription: '+.child', offered: 'hans.child.test', result: false, }, { subscription: '+.#', offered: 'hans.child.test', result: true, }, { subscription: 'test.#', offered: 'hans.child.test', result: false, }, ] for (const _case of _test) { const _res = _matcher.affected(_case.subscription, _case.offered); if (_res != _case.result) { console.log('ERROR on', _case.subscription, _case.offered, 'should', _case.result); } } });