Improve data model & fix tests
This commit is contained in:
@@ -1,24 +1,33 @@
|
||||
import { Edge, TreeNode, TreeNodeFactory } from '../'
|
||||
import { expect } from 'chai';
|
||||
import 'mocha';
|
||||
import { TreeNodeFactory } from '../'
|
||||
import { expect } from 'chai'
|
||||
import 'mocha'
|
||||
import './TreeNode.findNode'
|
||||
|
||||
describe('TreeNodeFactory', () => {
|
||||
it('root node must not have a sourceEdge', () => {
|
||||
let topic = 'foo/bar'
|
||||
let edges = topic.split('/')
|
||||
let leaf = TreeNodeFactory.fromEdgesAndValue(edges, 5)
|
||||
|
||||
expect(leaf.firstNode().sourceEdge).to.eq(undefined)
|
||||
});
|
||||
|
||||
it('should create node', () => {
|
||||
let topic = 'foo/bar'
|
||||
let edges = topic.split('/')
|
||||
let node = TreeNodeFactory.fromEdgesAndValue(edges, 5)
|
||||
|
||||
expect(node).to.not.eq(undefined)
|
||||
expect(node.sourceEdge.name).to.eq('bar')
|
||||
expect(node.value).to.eq(5)
|
||||
|
||||
if (!node.sourceEdge.source) {
|
||||
if (!node.sourceEdge || !node.sourceEdge.source || !node.message) {
|
||||
expect.fail('should not happen')
|
||||
return
|
||||
}
|
||||
|
||||
let foo = node.sourceEdge.source.sourceEdge
|
||||
expect(foo.name).to.eq('foo')
|
||||
expect(node).to.not.eq(undefined)
|
||||
expect(node.sourceEdge.name).to.eq('bar')
|
||||
expect(node.message.value).to.eq(5)
|
||||
|
||||
let foo = node.firstNode().findNode('foo')
|
||||
expect(foo && foo.sourceEdge && foo.sourceEdge.name).to.eq('foo')
|
||||
});
|
||||
|
||||
it('node should contain edges in order', () => {
|
||||
@@ -26,18 +35,23 @@ describe('TreeNodeFactory', () => {
|
||||
let edges = topic.split('/')
|
||||
let node = TreeNodeFactory.fromEdgesAndValue(edges, 5)
|
||||
|
||||
expect(node.value).to.eq(5)
|
||||
if (!node.sourceEdge || !node.sourceEdge.source || !node.message) {
|
||||
expect.fail('should not happen')
|
||||
return
|
||||
}
|
||||
|
||||
expect(node.message.value).to.eq(5)
|
||||
expect(node.sourceEdge.name).to.eq('baz')
|
||||
|
||||
const barNode = node.sourceEdge.source
|
||||
if (!barNode) {
|
||||
if (!barNode || !barNode.sourceEdge) {
|
||||
expect.fail('should not fail')
|
||||
return
|
||||
}
|
||||
expect(barNode.sourceEdge.name).to.eq('bar')
|
||||
|
||||
const fooNode = barNode.sourceEdge.source
|
||||
if (!fooNode) {
|
||||
if (!fooNode || !fooNode.sourceEdge) {
|
||||
expect.fail('should not fail')
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user