public void When_Saving_Header_With_Multiple_Services_Then_Insert_Service_Is_Called_For_Each_Service() { // arrange const int headerKey = 1; var header = new Type814Header(); header.AddService(new Type814Service { ServiceType1 = "mock_one", }); header.AddService(new Type814Service { ServiceType1 = "mock_two", }); header.AddService(new Type814Service { ServiceType1 = "mock_three", }); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(headerKey); dataAccess.Expect(x => x.InsertService(Arg <Type814Service> .Is.TypeOf)) .Return(1); // act concern.SaveHeader(header); // assert Assert.IsTrue(header.Services.All(x => x.HeaderKey.Equals(headerKey))); dataAccess.AssertWasCalled(x => x.InsertService(null), x => x.IgnoreArguments().Repeat.Times(3, 3)); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_No_Service_Meter_TOUs_Then_Insert_Service_Meter_Tou_Is_Not_Called() { // arrange var meter = new Type814ServiceMeter(); var service = new Type814Service(); var header = new Type814Header(); service.AddMeter(meter); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(1); dataAccess.Stub(x => x.InsertServiceMeter(Arg.Is(meter))) .Return(1); // act concern.SaveHeader(header); // assert dataAccess.AssertWasNotCalled(x => x.InsertServiceMeterTou(null), x => x.IgnoreArguments()); }
public void When_Saving_Header_With_Any_Service_Meters_Then_Insert_Service_Meter_Is_Called() { // arrange const int serviceKey = 2; var meter = new Type814ServiceMeter { MeterNumber = "mock" }; var service = new Type814Service(); service.AddMeter(meter); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(serviceKey); dataAccess.Expect(x => x.InsertServiceMeter(Arg.Is(meter))) .Return(1); // act concern.SaveHeader(header); // assert Assert.AreEqual(serviceKey, meter.ServiceKey); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Any_Service_Rejects_Then_Insert_Service_Reject_Is_Called() { // arrange const int serviceKey = 2; var reject = new Type814ServiceReject { RejectCode = "mock" }; var service = new Type814Service(); service.AddReject(reject); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(serviceKey); dataAccess.Expect(x => x.InsertServiceReject(Arg.Is(reject))) .Return(1); // act concern.SaveHeader(header); // assert Assert.AreEqual(serviceKey, reject.ServiceKey); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Any_Service_Account_Changes_Then_Insert_Service_Account_Change_Is_Called() { // arrange const int serviceKey = 2; var change = new Type814ServiceAccountChange { ChangeReason = "mock" }; var service = new Type814Service(); service.AddChange(change); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(serviceKey); dataAccess.Expect(x => x.InsertServiceAccountChange(Arg.Is(change))) .Return(1); // act concern.SaveHeader(header); // assert Assert.AreEqual(serviceKey, change.ServiceKey); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Any_Services_Then_Insert_Service_Is_Called() { // arrange const int headerKey = 1; var service = new Type814Service { ServiceType1 = "mock" }; var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(headerKey); dataAccess.Expect(x => x.InsertService(Arg.Is(service))) .Return(1); // act concern.SaveHeader(header); // assert Assert.AreEqual(headerKey, service.HeaderKey); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Multiple_Service_Meter_Changes_Then_Insert_Service_Meter_Change_Is_Called_For_Each_Service_Meter_Change() { // arrange const int serviceMeterKey = 2; var meter = new Type814ServiceMeter(); meter.AddChange(new Type814ServiceMeterChange { ChangeReason = "mock_one" }); meter.AddChange(new Type814ServiceMeterChange { ChangeReason = "mock_two" }); meter.AddChange(new Type814ServiceMeterChange { ChangeReason = "mock_six" }); meter.AddChange(new Type814ServiceMeterChange { ChangeReason = "mock_ten" }); var service = new Type814Service(); service.AddMeter(meter); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(1); dataAccess.Stub(x => x.InsertServiceMeter(Arg.Is(meter))) .Return(serviceMeterKey); dataAccess.Expect(x => x.InsertServiceMeterChange(Arg <Type814ServiceMeterChange> .Is.TypeOf)) .Return(1); // act concern.SaveHeader(header); // assert Assert.IsTrue(meter.Changes.All(x => x.MeterKey.Equals(serviceMeterKey))); dataAccess.AssertWasCalled(x => x.InsertServiceMeterChange(null), x => x.IgnoreArguments().Repeat.Times(4, 4)); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Multiple_Service_Meter_TOUs_Then_Insert_Service_Meter_Tou_Is_Called_For_Each_Service_Meter_TOU() { // arrange const int serviceMeterKey = 2; var meter = new Type814ServiceMeter(); meter.AddTou(new Type814ServiceMeterTou { TouCode = "mock_here" }); meter.AddTou(new Type814ServiceMeterTou { TouCode = "mock_now" }); var service = new Type814Service(); service.AddMeter(meter); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(1); dataAccess.Stub(x => x.InsertServiceMeter(Arg.Is(meter))) .Return(serviceMeterKey); dataAccess.Expect(x => x.InsertServiceMeterTou(Arg <Type814ServiceMeterTou> .Is.TypeOf)) .Return(1); // act concern.SaveHeader(header); // assert Assert.IsTrue(meter.Tous.All(x => x.MeterKey.Equals(serviceMeterKey))); dataAccess.AssertWasCalled(x => x.InsertServiceMeterTou(null), x => x.IgnoreArguments().Repeat.Times(2, 2)); dataAccess.VerifyAllExpectations(); }
public void When_Saving_Header_With_Multiple_Service_Rejects_Then_Insert_Service_Reject_Is_Called_For_Each_Service_Reject() { // arrange const int serviceKey = 2; var service = new Type814Service(); service.AddReject(new Type814ServiceReject { RejectCode = "mock_one" }); service.AddReject(new Type814ServiceReject { RejectCode = "mock_two" }); service.AddReject(new Type814ServiceReject { RejectCode = "mock_four" }); var header = new Type814Header(); header.AddService(service); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(1); dataAccess.Stub(x => x.InsertService(Arg.Is(service))) .Return(serviceKey); dataAccess.Expect(x => x.InsertServiceReject(Arg <Type814ServiceReject> .Is.TypeOf)) .Return(1); // act concern.SaveHeader(header); // assert Assert.IsTrue(service.Rejects.All(x => x.ServiceKey.Equals(serviceKey))); dataAccess.AssertWasCalled(x => x.InsertServiceReject(null), x => x.IgnoreArguments().Repeat.Times(3, 3)); dataAccess.VerifyAllExpectations(); }
public Type814Header ParseHeader(XElement element, IDictionary <string, XNamespace> namespaces) { XNamespace empty; if (!namespaces.TryGetValue(string.Empty, out empty)) { empty = XNamespace.None; } var model = new Type814Header { TransactionSetId = element.GetChildText(empty + "TransactionSetId"), TransactionSetControlNbr = element.GetChildText(empty + "TransactionSetControlNbr"), TransactionSetPurposeCode = element.GetChildText(empty + "TransactionSetPurposeCode"), TransactionNbr = element.GetChildText(empty + "TransactionNbr"), TransactionDate = element.GetChildText(empty + "TransactionDate"), TransactionTime = element.GetChildText(empty + "TransactionTime"), TransactionTimeCode = element.GetChildText(empty + "TransactionTimeCode"), ReferenceNbr = element.GetChildText(empty + "ReferenceNbr"), ActionCode = element.GetChildText(empty + "ActionCode"), TdspDuns = element.GetChildText(empty + "TdspDuns"), TdspName = element.GetChildText(empty + "TdspName"), CrDuns = element.GetChildText(empty + "CrDuns"), CrName = element.GetChildText(empty + "CrName"), TransactionQualifier = element.GetChildText(empty + "TransactionQualifier"), }; var nameLoopElement = element.Element(empty + "NameLoop"); if (nameLoopElement != null) { var nameElements = nameLoopElement.Elements(empty + "Name"); foreach (var nameElement in nameElements) { var nameModel = ParseName(nameElement, namespaces); model.AddName(nameModel); } } var serviceLoopElement = element.Element(empty + "ServiceLoop"); if (serviceLoopElement != null) { var serviceElements = serviceLoopElement.Elements(empty + "Service"); foreach (var serviceElement in serviceElements) { var serviceModel = ParseService(serviceElement, namespaces); model.AddService(serviceModel); } } if (model.Services.Any()) { var firstServiceModel = model.Services[0]; var transactionTypeId = marketDataAccess .IdentifyTransactionType(model.ActionCode, firstServiceModel.ActionCode); model.TransactionTypeId = transactionTypeId; } return(model); }