public void ExchangeService_CanInitiate()
        {
            //import for service discovery to be able to initiate without constructor
            _ = new ExchangeService();

            Assert.Throws <ArgumentException>(() =>
            {
                _ = new ExchangeService(new ExternalServiceData()
                {
                    Type = "invalid"
                });
            });

            var data = new ExchangeExternalServiceData()
            {
                PublicKey  = "test",
                PairedDate = DateTime.Now
            };
            var externalServiceData = new ExternalServiceData()
            {
                Type = ExchangeService.ExchangeServiceType,
                Name = "something"
            };

            externalServiceData.Set(data);

            var exchangeService = new ExchangeService(externalServiceData);

            Assert.Equal(exchangeService.GetData().PublicKey, data.PublicKey);
            Assert.Equal(exchangeService.GetData().PairedDate, data.PairedDate);
        }
        public void ExchangeService_CanConstructClient()
        {
            var data = new ExchangeExternalServiceData()
            {
                PublicKey  = "test",
                PairedDate = DateTime.Now
            };
            var externalServiceData = new ExternalServiceData()
            {
                Type = ExchangeService.ExchangeServiceType,
                Name = "something"
            };

            externalServiceData.Set(data);

            var exchangeService = new ExchangeService(externalServiceData);

            Assert.NotNull(exchangeService.ConstructClient());
        }