public void LoadIntoDatabase() { var records = ParserHelper.ParseRecords(Records); using (var connection = _fixture.CreateConnection()) { connection.Open(); var loader = new ScheduleChangeLoader(connection, new Sequence(), Substitute.For <ILogger>()); loader.Initialise(); var schedule = records[0] as Schedule; var change = schedule.Records[7] as ScheduleChange; loader.Add(12, 34, change); using (var transaction = connection.BeginTransaction()) { loader.Load(transaction); using (var command = connection.CreateCommand()) { command.Transaction = transaction; command.CommandText = "SELECT * FROM ScheduleChanges"; using (var adapter = new SqlDataAdapter(command)) { var table = new DataTable(); adapter.Fill(table); Assert.Equal(1, table.Rows.Count); } ; } } } }
public void CreateDataTableWithLocationColumns() { using (var connection = _fixture.CreateConnection()) { connection.Open(); var loader = new ScheduleChangeLoader(connection, new Sequence(), Substitute.For <ILogger>()); loader.Initialise(); var table = loader.Table; Assert.Equal(19, table.Columns.Count); Assert.NotNull(table.Columns["ScheduleLocationId"]); } }
private ScheduleLoader InitialiseLoader(SqlConnection connection) { var sequence = new Sequence(); var lookup = Substitute.For <IDatabaseIdLookup>(); lookup.Find(Arg.Any <string>()).Returns(c => sequence.GetNext()); _schedules = new ScheduleHeaderLoader(connection, new Sequence(), Substitute.For <ILogger>()); _locations = new ScheduleLocationLoader(connection, new Sequence(), lookup, Substitute.For <ILogger>()); _changes = new ScheduleChangeLoader(connection, new Sequence(), Substitute.For <ILogger>()); var loader = new ScheduleLoader(_schedules, _locations, _changes, Substitute.For <ILogger>()); loader.Initialise(); return(loader); }
public void AddChange() { var records = ParserHelper.ParseRecords(Records); using (var connection = _fixture.CreateConnection()) { connection.Open(); var loader = new ScheduleChangeLoader(connection, new Sequence(), Substitute.For <ILogger>()); loader.Initialise(); var schedule = records[0] as Schedule; var change = schedule.Records[7] as ScheduleChange; loader.Add(12, 34, change); // CRHAYESAH OO2Y72 121384001 EMU360 100D S var row = loader.Table.Rows[0]; Assert.Equal(1L, row["Id"]); Assert.Equal(12L, row["ScheduleId"]); Assert.Equal(34L, row["ScheduleLocationId"]); Assert.Equal("OO", row["Category"]); Assert.Equal("2Y72", row["TrainIdentity"]); Assert.Equal(DBNull.Value, row["NrsHeadCode"]); Assert.Equal("21384001", row["ServiceCode"]); Assert.Equal(DBNull.Value, row["PortionId"]); Assert.Equal("EMU", row["PowerType"]); Assert.Equal("360", row["TimingLoadType"]); Assert.Equal(100, row["Speed"]); Assert.Equal("D", row["OperatingCharacteristics"]); Assert.Equal("S", row["SeatClass"]); Assert.Equal(DBNull.Value, row["SleeperClass"]); Assert.Equal("", row["ReservationIndicator"]); Assert.Equal(DBNull.Value, row["Catering"]); Assert.Equal(DBNull.Value, row["Branding"]); Assert.Equal(DBNull.Value, row["EuropeanUic"]); Assert.Equal(DBNull.Value, row["RetailServiceId"]); } }