File tree Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Original file line number Diff line number Diff line change 1
- import { randomBytes } from "crypto" ;
2
-
3
1
export default class Generator {
4
-
5
2
/**
6
3
* @internal
7
4
* @abstract
Original file line number Diff line number Diff line change
1
+ import NodeGenerator from '../src/NodeGenerator' ;
2
+
3
+ const generator = new NodeGenerator ( ) ;
4
+
5
+ describe ( 'Tests for node generator.' , ( ) => {
6
+ test ( 'Return value is correct type.' , ( ) => {
7
+ const result = generator . getRandom ( 10 ) ;
8
+ expect ( result ) . toBeInstanceOf ( Uint8Array ) ;
9
+ } ) ;
10
+
11
+ test ( 'List contains values between -255 and +255' , ( ) => {
12
+ const result = generator . getRandom ( 128 ) ;
13
+ let min = 0 ;
14
+ let max = 0 ;
15
+
16
+ result . forEach ( ( obj ) => {
17
+ if ( obj < min ) {
18
+ min = obj ;
19
+ }
20
+ if ( obj > max ) {
21
+ max = obj ;
22
+ }
23
+ } ) ;
24
+
25
+ expect ( max ) . toBeLessThan ( 256 ) ;
26
+ expect ( min ) . toBeGreaterThan ( - 256 ) ;
27
+ } ) ;
28
+
29
+ test ( 'Two calls generates different values.' , ( ) => {
30
+ const one = generator . getRandom ( 20 ) ;
31
+ const two = generator . getRandom ( 20 ) ;
32
+
33
+ expect ( JSON . stringify ( one ) ) . not . toStrictEqual ( JSON . stringify ( two ) ) ;
34
+ } ) ;
35
+ } ) ;
You can’t perform that action at this time.
0 commit comments