summaryrefslogtreecommitdiff
path: root/src/node_modules/chance/test/test.music.js
blob: 2910796c67f5eb1e07307af6e060e12a0b99559d (plain)
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
import test from 'ava'
import Chance from '../chance.js'
import _ from 'lodash'

const chance = new Chance()

// chance.note()
test('note() returns a valid note', t => {
    _.times(1000, () => {
      let note = chance.note()
      t.true(_.isString(note))
      t.true(note.length <= 2)
    })
})

// chance.midi_note()
test('midi_note() returns a valid midi note between 0 and 127', t => {
    _.times(1000, () => {
        let midi_note = chance.midi_note()
        t.true(_.isNumber(midi_note))
        t.true(midi_note >= 0)
        t.true(midi_note <= 127)
    })
})

// chance.chord_quality()
test('chord_quality() returns a valid chord quality', t => {
    _.times(1000, () => {
        let chord_quality = chance.chord_quality()
        t.true(_.isString(chord_quality))
        t.true(chord_quality.length <= 4)
    })
})

// chance.chord()
test('chord() returns a valid chord', t => {
    _.times(1000, () => {
        let chord = chance.chord()
        t.true(_.isString(chord))
        t.true(chord.length <= 6)
    })
})

// chance.tempo()
test('tempo() returns a valid tempo between 40 and 320', t => {
    _.times(1000, () => {
        let tempo = chance.tempo()
        t.true(_.isNumber(tempo))
        t.true(tempo >= 40)
        t.true(tempo <= 320)
    })
})