on 4c8c607 help sign in
bridge/src/nockjs/test/serial.js
22 lines 1.1 kB history raw
1var serial = require('../serial.js'),
2 noun = require('../noun.js'),
3 n = noun.dwim,
4 test = require('tape'),
5 check = require('tape-check').check,
6 nounT = require('./noun.js'),
7 BigInteger = require('jsbn').BigInteger;
9test('examples', function(t) {
10 t.plan(5);
11 nounT.equals(t, serial.jam(n(42)), n(5456), 'jam 1');
12 nounT.equals(t, serial.cue(n(5456)), n(42), 'cue 1');
13 nounT.equals(t, serial.jam(n('foo', 'bar')), noun.Atom.fromString('1054973063816666730241'), 'jam 2');
14 nounT.equals(t, serial.cue(noun.Atom.fromString('1054973063816666730241')), n('foo', 'bar'), 'cue 2');
15 var addPill = new noun.Atom.Atom(new BigInteger("829878621bce21b21920c888730c9059367e61cfcc39f98721920f9099110dd6986c86483c425fa84c8886dc2ec3b1330b26e2c9b478d937168f1b26e4e1887ab8e61b213c612cc4b21920fc4dc324164d5912c86483a425c21362dc2ec38b4e2c9ae2b041", 16));
16 nounT.equals(t, serial.jam(serial.cue(addPill)), addPill, "add pill");
17});
19test('generative', check({times: 1000}, nounT.genNoun, function(t, n) {
20 t.plan(1);
21 nounT.equals(t, serial.cue(serial.jam(n)), n, 'round trip');
22}));