Skip to content

Commit c11a223

Browse files
committed
Rename datasets fragments
1 parent 0dd425a commit c11a223

File tree

6 files changed

+27
-21
lines changed

6 files changed

+27
-21
lines changed

lib/assert.js

+15
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,19 @@ assert.inverses = function (fwd, bwd, items) {
8787
});
8888
};
8989

90+
assert.injects = function (fwd, items) {
91+
var seen = {};
92+
items.forEach(function (item) {
93+
var result = fwd(item);
94+
assert(
95+
!_.has(seen, result),
96+
'duplicate result:' +
97+
'\n ' + JSON.stringify(seen[result]) +
98+
'\n ' + JSON.stringify(item) +
99+
'\nboth map to ' +
100+
'\n ' + result);
101+
seen[result] = item;
102+
});
103+
};
104+
90105
module.exports = assert;

lib/compiler.js

+1
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ fragments.curry = fragment([
137137
'CI', 'CB', 'U', 'V', 'P', 'A',
138138
'APP', 'COMP', 'JOIN', 'RAND', 'VAR',
139139
'QUOTE', 'QLESS', 'QNLESS', 'QEQUAL',
140+
//'ASSERT', 'DEFINE',
140141
]);
141142

142143
fragments.church = fragment([

test/lib/datasets.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ var tree = require('../../lib/tree');
99
var SAMPLE_COUNT = 1000;
1010

1111
var codes = stats.sampleUnique(grammar.sampleCode, SAMPLE_COUNT);
12-
var terms = _.map(codes, compiler.load);
13-
var nodes = _.map(terms, tree.load);
12+
var curryTerms = _.map(codes, compiler.parse);
13+
var churchTerms = _.map(codes, compiler.load);
14+
var nodes = _.map(churchTerms, tree.load);
1415

1516
module.exports = {
1617
codes: codes,
17-
terms: terms,
18+
curryTerms: curryTerms,
19+
churchTerms: churchTerms,
1820
nodes: nodes,
1921
};

test/pretty.js

+2-14
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,7 @@ mocha.suite('pretty', function () {
1818
assert.forward(_.compose(pretty, compiler.parse), examples);
1919
});
2020

21-
mocha.test('is one-to-one', function () {
22-
var seen = {};
23-
datasets.codes.forEach(function (code) {
24-
var term = compiler.load(code);
25-
var result = pretty(term);
26-
assert(
27-
!_.has(seen, result),
28-
'pretty conflict:' +
29-
'\n ' + seen[result] +
30-
'\n ' + code +
31-
'\nboth map to ' +
32-
'\n ' + result);
33-
seen[result] = code;
34-
});
21+
mocha.test('is one-to-one on churchTerms', function () {
22+
assert.injects(pretty, datasets.churchTerms);
3523
});
3624
});

test/serialize.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ mocha.suite('serialize', function () {
2020
assert.inverses(compiler.parse, compiler.print, datasets.codes);
2121
});
2222

23-
mocha.test('works on datasets.terms', function () {
24-
assert.inverses(compiler.print, compiler.parse, datasets.terms);
23+
mocha.test('works on datasets.curryTerms', function () {
24+
assert.inverses(compiler.print, compiler.parse, datasets.curryTerms);
2525
});
2626
});

test/tree.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ mocha.suite('tree', function () {
1818
assert.inverses(tree.load, tree.dump, _.map(examples, compiler.load));
1919
});
2020

21-
mocha.test('load;dump on datasets.terms', function () {
22-
assert.inverses(tree.load, tree.dump, datasets.terms);
21+
mocha.test('load;dump on datasets.churchTerms', function () {
22+
assert.inverses(tree.load, tree.dump, datasets.churchTerms);
2323
});
2424
});

0 commit comments

Comments
 (0)