public void CreateQuote_Fail()
        {
            // Assign

            IPolicyService subscribeService = new PolicyServiceClient();
            var policyContract = new PolicyContract
                {
                    UnitPsu = "",
                    PolTy = "",
                    EntSt = "",
                    InsdNm = "",
                    InsdId = 0,
                    PolDsc = "",
                    Uwr = "",
                    DOM = "",
                    BkrSeqId = 0,
                    CtcNm = "",
                    IncpDt = "",
                    ExpyDt = "",
                    AccYr = "",
                    SettDueDt = "",
                    Brokerage = 0,
                    DeclineReason = "",
                    COB = "",
                    MOA = "",
                    NonLonBkr = "",
                    OrigOff = "",
                    FacyPolId = "",
                    RenPolId = "",
                    PolId = "",
                    LmtCcy = "",
                    LmtAmt = null,
                    ExsCcy = "",
                    ExsAmt = null,
                    BindSt = "",
                    PctgAmt = "",
                    PricingCcy = "",
                    Method = "",
                    TechPrm = null,
                    BenchPrm = null,
                    Status = "",
                    TimeStamp = null,
                    BkrPsu = "",
                    BkrNo = "",
                    TechPmTy = ""
                };

            var request = new CreateQuoteRequest { objPolicyContract = policyContract };

            // Act
            var actualResponse = subscribeService.CreateQuote(request);

            // Assert
            Assert.IsNotNull(actualResponse.CreateQuoteResult.ErrorInfo);
        }
        public void CreateQuote_Success()
        {
            // Assign
            long actualTimeStamp = 0; 

            IPolicyService subscribeService = new PolicyServiceClient();
            var policyContract = new PolicyContract
            {
                UnitPsu = "AGY",
                PolTy = "NONMARINE",
                EntSt = "PARTIAL",
                InsdNm= "- N/A",
                InsdId= 182396,
                PolDsc= "Unit Test Submission",
                Uwr= "AED",
                DOM= "AD",
                BkrSeqId= 822,
                CtcNm= "ALLAN MURRAY",
                IncpDt= "20130628",
                ExpyDt= "20140628",
                AccYr= "2013",
                SettDueDt= "20130628",
                Brokerage= 1,
                DeclineReason= null,
                COB= "AD",
                MOA= "FA",
                NonLonBkr= null, 
                OrigOff= "LON",
                FacyPolId= null,
                RenPolId= null,
                PolId= null,
                LmtCcy= "USD",
                LmtAmt= null,
                ExsCcy= "USD",
                ExsAmt= null,
                BindSt= "PRE",
                PctgAmt= "AMT",
                PricingCcy= "USD",
                Method= "UW",
                TechPrm= null,
                BenchPrm= null,
                Status= "SUBMITTED",
                TimeStamp= null,
                BkrPsu= "AAA",
                BkrNo= "???",
                TechPmTy= "TechPm"
            };
            var request = new CreateQuoteRequest { objPolicyContract = policyContract };

            // Act
            var actualResponse = subscribeService.CreateQuote(request);

            if (actualResponse.CreateQuoteResult.ErrorInfo != null)
            {
                _logHandler.WriteLog(actualResponse.CreateQuoteResult.ErrorInfo.Description, LogSeverity.Error,
                                     LogCategory.BusinessComponent);
                _logHandler.WriteLog(actualResponse.CreateQuoteResult.ErrorInfo.ErrorXML, LogSeverity.Error,
                                     LogCategory.BusinessComponent);
                _logHandler.WriteLog(actualResponse.CreateQuoteResult.ErrorInfo.DetailedDescription, LogSeverity.Error,
                                     LogCategory.BusinessComponent);
                _logHandler.WriteLog(actualResponse.CreateQuoteResult.ErrorInfo.Severity.ToString(), LogSeverity.Error,
                                     LogCategory.BusinessComponent);
            }

            var doc = new XmlDocument();
            doc.LoadXml(actualResponse.CreateQuoteResult.OutputXml);

            _subscribeReference = doc.GetElementsByTagName("PolId")[0].InnerText;

            long subscribeTimestamp;
            actualTimeStamp = long.TryParse(doc.GetElementsByTagName("TimeStamp")[0].InnerText, out subscribeTimestamp) ?
                subscribeTimestamp : 0;

            // Assert
            Assert.IsNull(actualResponse.CreateQuoteResult.ErrorInfo);
            Assert.AreNotEqual(actualTimeStamp, 0);
            Assert.IsNotNull(_subscribeReference);
        }
        public void CreateQuote_ExpectedException()
        {
            // Assign
            long actualTimeStamp = 0;

            IPolicyService subscribeService = new PolicyServiceClient();
            var policyContract = new PolicyContract();
            
            var request = new CreateQuoteRequest { objPolicyContract = policyContract };

            // Act
            var actualResponse = subscribeService.CreateQuote(request);

            // Assert
            Assert.IsNotNull(actualResponse.CreateQuoteResult.ErrorInfo);
        }