################################################################################
#
# Ind.ie Pulse Process — Test
#
# This is independent technology. See ind.ie/manifesto
#
# Copyright © 2014, Aral Balkan.
# Free as in freedom. Released under GNU GPLv3 (or any later version).
#
################################################################################

PulseProcess = require './index.coffee'

#
# Pulse Process delegate event handlers
# (all optional)
#

class TestPulseProcess

	pulseProcess = null

	constructor: ->
		@pulseProcess = new PulseProcess(this)
		@pulseProcess.quiet = true
		@pulseProcess.start()

	pulseProcessRestApiIsReady: ->
		process.stdout.write '.'
		@stopTheProcess()

	pulseProcessFailedToStartProcess: (data) ->
		console.log 'Delegate: pulseProcessFailedToStartProcess error with data:'
		console.log data

	pulseProcessDidSendData: (data) ->
		process.stdout.write '.'

	pulseProcessDidSendErrorData: (data) ->
		console.log 'Delegate: pulseProcessDidSendErrorData with data:'
		console.log data

	pulseProcessDidExitWithCode: (code) ->
		process.stdout.write '.'
		console.log '\nSuccessfully connected to Pulse process and got confirmation of REST API readiness.'
		process.exit(0)

	stopTheProcess: ->
		@pulseProcess.stop()

testPulseProcess = new TestPulseProcess()
