using System;
using System.Collections.Generic;
using System.Text;

namespace IndianHealthService.BMXNet.Tests
{
    internal class BMXNetScriptedBroker : BMXNetBroker
    {

        /*
        public override string GetLoginFacility(String aDuz)
        {
            throw new NotImplementedException();
        }

        public override bool IsConnected
        {
            get { return true;  }
        }
       
        private List<Call> _calls = new List<Call>();

        private List<Call> Calls
        {
            get { return _calls; }
            set { _calls = value; }
        }

        public void AddCall(String request, String response)
        {
            Call call = new Call();
            call.Request = request;
            call.Response = response;
            this.Calls.Add(call);
        }

        protected override string SendReceiveString(string sendString, string multi)
        {
            if (this.Calls.Count == 0)
            {
                throw new Exception("No more calls in script.");
            }

            if (this.Calls[0].Request.Equals(sendString))
            {
                Call hit = this.Calls[0];
                this.Calls.Remove(hit);
                return hit.Response;
            }
            else
            {
                throw new Exception("Unexpected call: " + sendString);
            }
        }
    }

        */

        class Call
        {

            private String _request = null;

            public String Request
            {
                get { return _request; }
                set { _request = value; }
            }

            private String _response = null;

            public String Response
            {
                get { return _response; }
                set { _response = value; }
            }

        }

        public override bool IsConnected
        {
            get { throw new NotImplementedException(); }
        }

        public override RemoteSession PrimaryRemoteSession
        {
            get { throw new NotImplementedException(); }
        }

        public override void Close()
        {
            throw new NotImplementedException();
        }

        public override RemoteSessionPool RemoteSessionPool
        {
            get { throw new NotImplementedException(); }
        }

        internal void AddCall(string p, string p_2)
        {
            throw new NotImplementedException();
        }
    }
}