-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspecification.js
More file actions
110 lines (91 loc) · 2.71 KB
/
specification.js
File metadata and controls
110 lines (91 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
describe("Random data generation", function() {
var Random;
beforeAll(function() {
Random = require("./index");
});
describe("of Strings", function() {
it("generates a set length string", function() {
var x, result;
var pattern = /^[a-zA-Z0-9]+$/;
for(x=0; x<1000; x++) {
result = Random.string(16);
expect(result.length).toBe(16);
expect(pattern.test(result)).toBe(true);
}
});
});
describe("of integers", function() {
it("generates a number in the set range", function() {
var x, result;
for(x=0; x<1000; x++) {
result = Random.integer(10);
expect(result <= 10).toBe(true);
expect(result >= 0).toBe(true);
}
});
it("generates a number with an offset", function() {
var x, result;
for(x=0; x<1000; x++) {
result = Random.integer(10, 5);
expect(result <= 15).toBe(true);
expect(result >= 5).toBe(true);
}
});
});
describe("of numbers", function() {
it("generates a number in the set range", function() {
var x, result;
for(x=0; x<1000; x++) {
result = Random.number(10);
expect(result <= 10).toBe(true);
expect(result >= 0).toBe(true);
}
});
it("generates a number with an offset", function() {
var x, result;
for(x=0; x<1000; x++) {
result = Random.number(10, 5);
expect(result <= 15).toBe(true);
expect(result >= 5).toBe(true);
}
});
});
describe("of identifiers", function() {
it("generates a basic ID following defaults", function() {
var x, result;
var pattern = /^id:[a-zA-Z0-9]+[0-9]{10,20}$/;
for(x=0; x<1000; x++) {
result = Random.identifier();
expect(result.length).toBe(26);
expect(pattern.test(result)).toBe(true);
}
});
it("generates with a custom prefix", function() {
var x, result;
var pattern = /^prefix:[a-zA-Z0-9]+[0-9]{10,20}$/;
for(x=0; x<1000; x++) {
result = Random.identifier("prefix");
expect(result.length).toBe(30);
expect(pattern.test(result)).toBe(true);
}
});
it("generates with a set pre-generated length", function() {
var x, result;
var pattern = /^prefix:[a-zA-Z0-9]{10}[0-9]{10,20}$/;
for(x=0; x<1000; x++) {
result = Random.identifier("prefix", 10);
expect(result.length).toBe(30);
expect(pattern.test(result)).toBe(true);
}
});
it("generates with a set total length", function() {
var x, result;
var pattern = /^prefix:[a-zA-Z0-9]{10}[0-9]{10,20}[a-zA-Z0-9]+$/;
for(x=0; x<1000; x++) {
result = Random.identifier("prefix", 10, 32);
expect(result.length).toBe(39);
expect(pattern.test(result)).toBe(true);
}
});
});
});