mirror of
				https://github.com/Xahau/xahau.js.git
				synced 2025-11-04 04:55:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { assert } from 'chai'
 | 
						|
 | 
						|
import ExponentialBackoff from '../src/client/ExponentialBackoff'
 | 
						|
 | 
						|
describe('ExponentialBackoff', function () {
 | 
						|
  it('duration() return value starts with the min value', function () {
 | 
						|
    // default: 100ms
 | 
						|
    assert.equal(new ExponentialBackoff().duration(), 100)
 | 
						|
    assert.equal(new ExponentialBackoff({ min: 100 }).duration(), 100)
 | 
						|
    assert.equal(new ExponentialBackoff({ min: 123 }).duration(), 123)
 | 
						|
  })
 | 
						|
 | 
						|
  it('duration() return value increases when called multiple times', function () {
 | 
						|
    const backoff = new ExponentialBackoff({ min: 100, max: 1000 })
 | 
						|
    assert.strictEqual(backoff.duration(), 100)
 | 
						|
    assert.strictEqual(backoff.duration(), 200)
 | 
						|
    assert.strictEqual(backoff.duration(), 400)
 | 
						|
    assert.strictEqual(backoff.duration(), 800)
 | 
						|
  })
 | 
						|
 | 
						|
  it('duration() never returns greater than the max value', function () {
 | 
						|
    const backoff = new ExponentialBackoff({ min: 300, max: 1000 })
 | 
						|
    assert.strictEqual(backoff.duration(), 300)
 | 
						|
    assert.strictEqual(backoff.duration(), 600)
 | 
						|
    assert.strictEqual(backoff.duration(), 1000)
 | 
						|
    assert.strictEqual(backoff.duration(), 1000)
 | 
						|
  })
 | 
						|
 | 
						|
  it('reset() will reset the duration() value', function () {
 | 
						|
    const backoff = new ExponentialBackoff({ min: 100, max: 1000 })
 | 
						|
    assert.strictEqual(backoff.duration(), 100)
 | 
						|
    assert.strictEqual(backoff.duration(), 200)
 | 
						|
    assert.strictEqual(backoff.duration(), 400)
 | 
						|
    backoff.reset()
 | 
						|
    assert.strictEqual(backoff.duration(), 100)
 | 
						|
    assert.strictEqual(backoff.duration(), 200)
 | 
						|
  })
 | 
						|
})
 |