74 lines
2.3 KiB
CoffeeScript
74 lines
2.3 KiB
CoffeeScript
expect = require("chai").should()
|
|
|
|
Asjon = require '../asjon-testing.coffee'
|
|
asjon = undefined
|
|
|
|
describe 'modulo memoria', ->
|
|
before (done) ->
|
|
# Inizializzo robot
|
|
Asjon (assa) ->
|
|
asjon = assa
|
|
after asjon.after
|
|
afterEach asjon.clear
|
|
require('../scripts/memoria.coffee')(asjon.robot)
|
|
done()
|
|
|
|
it 'risponde quando richiesto', (done) ->
|
|
replies = 0
|
|
arr = ["cos'è","qual'è","qual è","qualè","chi è","cosa sono","quand'è"]
|
|
asjon.receive (envelope,strings) ->
|
|
replies++
|
|
if replies is arr.length then done()
|
|
arr.map (x) -> 'asjon ' + x + ' test' + (if Math.random() > 0.5 then '?' else '')
|
|
.forEach (x) -> asjon.send x
|
|
|
|
it 'permette di memorizzare un ricordo', (done) ->
|
|
asjon.receive (e,l) ->
|
|
l.join().should.match /non sapevo che (.+)/i
|
|
done()
|
|
asjon.send 'asjon ricordati che a è b'
|
|
|
|
it 'permette di alterare un ricordo', (done) ->
|
|
acc = 0
|
|
asjon.receive (e,l) ->
|
|
l.join().should.match /pensavo che a fosse(ro)? (?:b|c). Mi ricorderò che invece è (?:c|b)/i
|
|
acc++
|
|
if acc is 3 then done()
|
|
asjon.send "asjon ricordati che a è c"
|
|
asjon.send "asjon ricordati che a = b"
|
|
asjon.send "asjon ricordati che a sono c"
|
|
|
|
it 'permette di eliminare un ricordo', (done) ->
|
|
asjon.receive (e,l) ->
|
|
l.join().should.match /^in caso cambi idea/i
|
|
done()
|
|
asjon.send 'asjon dimentica a'
|
|
|
|
it 'permette di visualizzare una data', (done) ->
|
|
asjon.receive (e,l) ->
|
|
l.join().should.match /^l'8 dicembre è .+ 8º dicembre \d+ ovvero/i
|
|
done()
|
|
asjon.send "asjon quand'è l'8 dicembre"
|
|
|
|
it 'visualizza un argomento data solo se opportuno', (done) ->
|
|
asjon.receive (e,l) ->
|
|
l.join().should.not.match /^l'8 dicembre è .+ 8º dicembre \d+ ovvero/i
|
|
done()
|
|
asjon.send "asjon chi è l'8 dicembre"
|
|
|
|
it 'visualizza un valore data solo se opportuno', (done) ->
|
|
acc = 0
|
|
asjon.receive (e,l) ->
|
|
acc++
|
|
l.join().should.not.match /a è Martedì .+/i
|
|
if acc is 2 then done()
|
|
asjon.send "asjon ricordati che a è l'8 dicembre"
|
|
asjon.send "asjon chi è a?"
|
|
|
|
it 'offre un memory dump per debugging', (done) ->
|
|
asjon.receive (e,l) ->
|
|
JSON.parse(l.join()).should.be.a 'object'
|
|
done()
|
|
asjon.send 'asjon memory-dump'
|
|
|