additional test for expected states
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
9a2c2ce14c
commit
af7bd4e00e
@ -96,4 +96,122 @@ describe ('stream', () => {
|
|||||||
stream.end_graph ();
|
stream.end_graph ();
|
||||||
stream.end ();
|
stream.end ();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// eslint-disable-next-line max-lines-per-function
|
||||||
|
it ('should reject invalid command sequences', () => {
|
||||||
|
/**
|
||||||
|
* command valid invalid
|
||||||
|
* [s] cug, cdg eg, cn, csg, ce, at
|
||||||
|
* cn eg, cn, csg, ce, at cug, cdg
|
||||||
|
* cug eg, cn, csg, ce, at cug, cdg
|
||||||
|
* cdg eg, cn, csg, ce, at cug, cdg
|
||||||
|
* csg eg, cn, csg, ce, at cug, cdg
|
||||||
|
* eg eg, cn, csg, ce cug, cdg, at
|
||||||
|
* at eg, cn, csg, ce cug, cdg, at
|
||||||
|
* ce eg, cn, csg, ce, at cug, cdg
|
||||||
|
*/
|
||||||
|
|
||||||
|
const cn = (g:GraphStream) => {
|
||||||
|
g.create_node ('foo');
|
||||||
|
};
|
||||||
|
const cug = (g:GraphStream) => {
|
||||||
|
g.create_graph ('foo', 'u');
|
||||||
|
};
|
||||||
|
const cdg = (g:GraphStream) => {
|
||||||
|
g.create_graph ('foo', 'd');
|
||||||
|
};
|
||||||
|
const csg = (g:GraphStream) => {
|
||||||
|
g.create_graph ('foo', 's');
|
||||||
|
};
|
||||||
|
const eg = (g:GraphStream) => {
|
||||||
|
g.end_graph ();
|
||||||
|
};
|
||||||
|
const at = (g:GraphStream) => {
|
||||||
|
g.attributes ({ color: 'red' });
|
||||||
|
};
|
||||||
|
const ce = (g:GraphStream) => {
|
||||||
|
g.create_edge ('foo', 'bar');
|
||||||
|
};
|
||||||
|
|
||||||
|
const combinations = [
|
||||||
|
{
|
||||||
|
primary: (g:GraphStream) => {
|
||||||
|
cug (g);
|
||||||
|
cn (g);
|
||||||
|
},
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: cug,
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: cdg,
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: (g:GraphStream) => {
|
||||||
|
cug (g);
|
||||||
|
csg (g);
|
||||||
|
},
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: (g:GraphStream) => {
|
||||||
|
cug (g);
|
||||||
|
csg (g);
|
||||||
|
eg (g);
|
||||||
|
},
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg,
|
||||||
|
at
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: (g:GraphStream) => {
|
||||||
|
cug (g);
|
||||||
|
at (g);
|
||||||
|
},
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg,
|
||||||
|
at
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
primary: (g:GraphStream) => {
|
||||||
|
cug (g);
|
||||||
|
ce (g);
|
||||||
|
},
|
||||||
|
secondary: [
|
||||||
|
cug,
|
||||||
|
cdg
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const comb of combinations) {
|
||||||
|
for (const secondary of comb.secondary) {
|
||||||
|
const g = (new GraphStream);
|
||||||
|
comb.primary (g);
|
||||||
|
expect (() => secondary (g))
|
||||||
|
.toThrowError (
|
||||||
|
/invalid state to execute command.*?expected:.*?actual:/uis
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user