1 | var IperEdge, IperElement, IperGraph, IperNode, graph, id1, id2, id3, iper, nodeIds, should;
|
2 |
|
3 | iper = require('../index');
|
4 |
|
5 | should = require('should');
|
6 |
|
7 | IperEdge = iper.IperEdge;
|
8 |
|
9 | IperElement = iper.IperElement;
|
10 |
|
11 | IperGraph = iper.IperGraph;
|
12 |
|
13 | IperNode = iper.IperNode;
|
14 |
|
15 | graph = new IperGraph();
|
16 |
|
17 | id1 = graph.createNode(1);
|
18 |
|
19 | id2 = graph.createNode(2);
|
20 |
|
21 | id3 = graph.createNode(3);
|
22 |
|
23 | nodeIds = [id1, id2, id3];
|
24 |
|
25 | describe('IperEdge', function() {
|
26 | describe('inheritance', function() {
|
27 | return it('is an IperElement', function() {
|
28 | var edge;
|
29 | edge = new IperEdge(graph, nodeIds);
|
30 | return edge.should.be.instanceOf(IperElement);
|
31 | });
|
32 | });
|
33 | describe('constructor', function() {
|
34 | it('has signature (graph, nodeIds)', function() {
|
35 | var edge;
|
36 | edge = new IperEdge(graph, nodeIds);
|
37 | return edge.should.be.instanceOf(IperEdge);
|
38 | });
|
39 | return it('checks #nodeIds is an array of valid node ids', function() {
|
40 | return (function() {
|
41 | var edge;
|
42 | return edge = new IperEdge(graph, [-1, -2]);
|
43 | }).should.throwError();
|
44 | });
|
45 | });
|
46 | describe('accessors', function() {
|
47 | return describe('#nodeIds', function() {
|
48 | return it('returns the #nodeIds', function() {
|
49 | var edge;
|
50 | edge = new IperEdge(graph, nodeIds);
|
51 | return edge.nodeIds.should.eql(nodeIds);
|
52 | });
|
53 | });
|
54 | });
|
55 | return describe('methods', function() {
|
56 | return describe('#remove()', function() {
|
57 | return it('removes the edge from its graph', function() {
|
58 | var edge, edgeId;
|
59 | edge = new IperEdge(graph, nodeIds);
|
60 | edgeId = edge.id;
|
61 | edge.remove();
|
62 | (function() {
|
63 | return graph.getEdge(edgeId);
|
64 | }).should.throwError();
|
65 | return edge.should.exists;
|
66 | });
|
67 | });
|
68 | });
|
69 | });
|