public void MergeExtraScheduleDetails(BasicScheduleExtraDetailsRecord extraDetailsRecord)
 {
     UicCode = extraDetailsRecord.UicCode;
     AtocCode = extraDetailsRecord.AtocCode;
     AtsCode = extraDetailsRecord.AtsCode;
     Rsid = extraDetailsRecord.Rsid;
     DataSource = extraDetailsRecord.DataSource;
 }
 protected bool Equals(BasicScheduleExtraDetailsRecord other)
 {
     return(Id == other.Id &&
            RecordIdentity == other.RecordIdentity &&
            string.Equals(UicCode, other.UicCode) &&
            string.Equals(AtocCode, other.AtocCode) &&
            string.Equals(AtsCode, other.AtsCode) &&
            string.Equals(Rsid, other.Rsid) &&
            string.Equals(DataSource, other.DataSource));
 }
        public void returns_expected_result()
        {
            var recordParser = BuildParser();
            var recordToParse = "BX         XCY                                                                  ";
            var expectedResult = new BasicScheduleExtraDetailsRecord
            {
                RecordIdentity = ScheduleRecordType.BX,
                AtocCode = "XC",
                AtsCode = "Y",
                DataSource = string.Empty,
                Rsid = string.Empty,
                UicCode = string.Empty
            };

            var result = recordParser.ParseRecord(recordToParse);

            Assert.AreEqual(expectedResult, result);
        }
        public void returns_expected_result()
        {
            var recordParser   = BuildParser();
            var recordToParse  = "BX         XCY                                                                  ";
            var expectedResult = new BasicScheduleExtraDetailsRecord
            {
                RecordIdentity = ScheduleRecordType.BX,
                AtocCode       = "XC",
                AtsCode        = "Y",
                DataSource     = string.Empty,
                Rsid           = string.Empty,
                UicCode        = string.Empty
            };

            var result = recordParser.ParseRecord(recordToParse);

            Assert.AreEqual(expectedResult, result);
        }
        public IScheduleRecord ParseRecord(string recordString)
        {
            if (string.IsNullOrWhiteSpace(recordString))
            {
                throw new ArgumentNullException(nameof(recordString));
            }

            var record = new BasicScheduleExtraDetailsRecord
            {
                RecordIdentity = ScheduleRecordType.BX,

                UicCode    = recordString.Substring(6, 5).Trim(),
                AtocCode   = recordString.Substring(11, 2).Trim(),
                AtsCode    = recordString.Substring(13, 1).Trim(),
                Rsid       = recordString.Substring(14, 8).Trim(),
                DataSource = recordString.Substring(22, 1).Trim()
            };

            return(record);
        }
        public void merges_extra_details_correctly()
        {
            var extraScheduleDetails = new BasicScheduleExtraDetailsRecord
            {
                AtsCode = "ATS",
                AtocCode = "ATOC",
                UicCode = "UIC",
                DataSource = "DATASOURCE",
                Rsid = "RSID"
            };

            var basicScheduleRecord = new ScheduleRecord();

            basicScheduleRecord.MergeExtraScheduleDetails(extraScheduleDetails);

            Assert.AreEqual(extraScheduleDetails.AtocCode, basicScheduleRecord.AtocCode);
            Assert.AreEqual(extraScheduleDetails.AtsCode, basicScheduleRecord.AtsCode);
            Assert.AreEqual(extraScheduleDetails.UicCode, basicScheduleRecord.UicCode);
            Assert.AreEqual(extraScheduleDetails.DataSource, basicScheduleRecord.DataSource);
            Assert.AreEqual(extraScheduleDetails.Rsid, basicScheduleRecord.Rsid);
        }
        public void merges_extra_details_correctly()
        {
            var extraScheduleDetails = new BasicScheduleExtraDetailsRecord
            {
                AtsCode    = "ATS",
                AtocCode   = "ATOC",
                UicCode    = "UIC",
                DataSource = "DATASOURCE",
                Rsid       = "RSID"
            };

            var basicScheduleRecord = new ScheduleRecord();

            basicScheduleRecord.MergeExtraScheduleDetails(extraScheduleDetails);

            Assert.AreEqual(extraScheduleDetails.AtocCode, basicScheduleRecord.AtocCode);
            Assert.AreEqual(extraScheduleDetails.AtsCode, basicScheduleRecord.AtsCode);
            Assert.AreEqual(extraScheduleDetails.UicCode, basicScheduleRecord.UicCode);
            Assert.AreEqual(extraScheduleDetails.DataSource, basicScheduleRecord.DataSource);
            Assert.AreEqual(extraScheduleDetails.Rsid, basicScheduleRecord.Rsid);
        }