asjon/test/memoria-test.coffee

74 lines
2.3 KiB
CoffeeScript
Raw Normal View History

2015-04-27 16:40:35 +02:00
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
2015-04-27 19:05:36 +02:00
arr = ["cos'è","qual'è","qual è","qualè","chi è","cosa sono","quand'è"]
2015-04-27 16:40:35 +02:00
asjon.receive (envelope,strings) ->
replies++
2015-04-27 19:05:36 +02:00
if replies is arr.length then done()
2015-04-27 16:40:35 +02:00
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) ->
2016-03-19 16:45:28 +01:00
l.join().should.match /^l'8 dicembre è .+ 8º dicembre \d+ ovvero/i
2015-04-27 16:40:35 +02:00
done()
asjon.send "asjon quand'è l'8 dicembre"
it 'visualizza un argomento data solo se opportuno', (done) ->
asjon.receive (e,l) ->
2016-03-19 16:45:28 +01:00
l.join().should.not.match /^l'8 dicembre è .+ 8º dicembre \d+ ovvero/i
2015-04-27 16:40:35 +02:00
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'