StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
				https://doi.org/10.1109/TVCG.2020.3030352
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				| var test = require('tape')
 | |
| var crypto = require('../')
 | |
| var Buffer = require('safe-buffer').Buffer
 | |
| 
 | |
| test('get error message', function (t) {
 | |
|   try {
 | |
|     var b = crypto.randomFillSync(Buffer.alloc(10))
 | |
|     t.ok(Buffer.isBuffer(b))
 | |
|     t.end()
 | |
|   } catch (err) {
 | |
|     t.ok(/not supported/.test(err.message), '"not supported"  is in error message')
 | |
|     t.end()
 | |
|   }
 | |
| })
 | |
| 
 | |
| test('randomfill', function (t) {
 | |
|   t.plan(5)
 | |
|   t.equal(crypto.randomFillSync(Buffer.alloc(10)).length, 10)
 | |
|   t.ok(Buffer.isBuffer(crypto.randomFillSync(Buffer.alloc(10))))
 | |
|   crypto.randomFill(Buffer.alloc(10), function (ex, bytes) {
 | |
|     t.error(ex)
 | |
|     t.equal(bytes.length, 10)
 | |
|     t.ok(Buffer.isBuffer(bytes))
 | |
|     t.end()
 | |
|   })
 | |
| })
 | |
| 
 | |
| test('seems random', function (t) {
 | |
|   var L = 1000
 | |
|   var b = crypto.randomFillSync(Buffer.alloc(L))
 | |
| 
 | |
|   var mean = [].reduce.call(b, function (a, b) {
 | |
|     return a + b
 | |
|   }, 0) / L
 | |
| 
 | |
|   // test that the random numbers are plausably random.
 | |
|   // Math.random() will pass this, but this will catch
 | |
|   // terrible mistakes such as this blunder:
 | |
|   // https://github.com/dominictarr/crypto-browserify/commit/3267955e1df7edd1680e52aeede9a89506ed2464#commitcomment-7916835
 | |
| 
 | |
|   // this doesn't check that the bytes are in a random *order*
 | |
|   // but it's better than nothing.
 | |
| 
 | |
|   var expected = 256 / 2
 | |
|   var smean = Math.sqrt(mean)
 | |
| 
 | |
|   // console.log doesn't work right on testling, *grumble grumble*
 | |
|   console.log(JSON.stringify([expected - smean, mean, expected + smean]))
 | |
|   t.ok(mean < expected + smean)
 | |
|   t.ok(mean > expected - smean)
 | |
| 
 | |
|   t.end()
 | |
| })
 | |
| 
 |