This package is a seed development system relying on RxJS, Cycle.js, Node, Typescript and Webpack for Functional Responsive Programming development of a web application. To run the application:
npm run setup
npm start
The seed development system includes a homegrown test system that displays test results in the console of a Browser.
test('string identifying test or tests', function_containing_assertions, display)
A test
function posts a group to the browser console, bearing the string
as its identifier, and then runs the function. The third parameter display
indicates whether the group for the test is initially opened (when true, the default), or closed. Tests may be nested, where they will post groups internal to parent tests. Statistics of tests run,
passed and errors are maintained and will be posted after the outermost
nested function is completed.
expect(actual)
expect(actual).not
Expectations retain the value of actual
for use with subsequent testing
functions as shown below. If followed with a .not
, it will change the
meaning of the testing function, passing when the function would fail, and vice-versa. Thus, expect(1).toBe(1)
passes and expect(1).not.toBe(1)
fails. Likewise, expect(1).not.toBe(false)
passes and expect(1).toBe(false)
fails.
expect(actual).toBe(expected)
This test is passed, when actual === expected
, in the javascript
sense of '==='. Thus,
expect(actual).toEqual(expected)
This test is passed, when JSON.stringify(actual) === JSON.stringify(expected)
.
expect(actual$).toMarble(expected_marble_diagram)
This test is passed, when str2mbl(actual$) === expected_marble_diagram
.
expect(actual$).toBeStreamOf(expected)
For each element ele
of actual$, this expectation runs expect(ele).toBe(expected)
, as separate expectations. Thus, no tests are run when actual$ is the empty stream.
mbl2str$(marble_diagram)
This returns a stream corresponding to the ASCII marble diagram. The stream is treated synchronously, giving no meaning to each '-', except as a separator of
the elements presented. Thus mbl2str$('--a-b--c--|')
is the same stream as mbl2str$('-a-b-c|')
;