public void BaseStationLocation_Constructor_Initialises_To_Known_State_And_Properties_Work() { var location = new BaseStationLocation(); TestUtilities.TestProperty(location, "Altitude", 0.0, 1.23); TestUtilities.TestProperty(location, "Latitude", 0.0, 3.45); TestUtilities.TestProperty(location, "LocationID", 0, 130); TestUtilities.TestProperty(location, "LocationName", null, "Ab"); TestUtilities.TestProperty(location, "Longitude", 0.0, 7.65); }
public void DeleteLocation(BaseStationLocation location) { ; }
public void UpdateLocation(BaseStationLocation location) { ; }
public void InsertLocation(BaseStationLocation location) { ; }
/// <summary> /// Inserts a new record and returns the ID. /// </summary> /// <param name="connection"></param> /// <param name="transaction"></param> /// <param name="log"></param> /// <param name="location"></param> /// <returns></returns> public int Insert(IDbConnection connection, IDbTransaction transaction, TextWriter log, BaseStationLocation location) { var preparedCommand = PrepareInsert(connection, transaction, "Insert", "LocationID", "LocationName", "Latitude", "Longitude", "Altitude"); return (int)Sql.ExecuteInsert(preparedCommand, log, location.LocationName, location.Latitude, location.Longitude, location.Altitude); }
/// <summary> /// Deletes the record passed across. /// </summary> /// <param name="connection"></param> /// <param name="transaction"></param> /// <param name="log"></param> /// <param name="location"></param> public void Delete(IDbConnection connection, IDbTransaction transaction, TextWriter log, BaseStationLocation location) { var preparedCommand = PrepareCommand(connection, transaction, "Delete", _DeleteCommandText, 1); Sql.SetParameters(preparedCommand, location.LocationID); Sql.LogCommand(log, preparedCommand.Command); preparedCommand.Command.ExecuteNonQuery(); }
/// <summary> /// Updates an existing record. /// </summary> /// <param name="connection"></param> /// <param name="transaction"></param> /// <param name="log"></param> /// <param name="location"></param> public void Update(IDbConnection connection, IDbTransaction transaction, TextWriter log, BaseStationLocation location) { var preparedCommand = PrepareCommand(connection, transaction, "Update", _UpdateCommandText, 5); Sql.SetParameters(preparedCommand, location.LocationName, location.Latitude, location.Longitude, location.Altitude, location.LocationID); Sql.LogCommand(log, preparedCommand.Command); preparedCommand.Command.ExecuteNonQuery(); }
private long AddLocation(BaseStationLocation location) { long result = 0; using(var connection = new SQLiteConnection(_ConnectionStringBuilder.ConnectionString)) { connection.Open(); using(var command = connection.CreateCommand()) { command.CommandText = "INSERT INTO [Locations] ([Altitude], [Latitude], [LocationName], [Longitude]) VALUES (?,?,?,?); SELECT last_insert_rowid();"; command.Parameters.Add(new SQLiteParameter() { Value = location.Altitude }); command.Parameters.Add(new SQLiteParameter() { Value = location.Latitude }); command.Parameters.Add(new SQLiteParameter() { Value = location.LocationName }); command.Parameters.Add(new SQLiteParameter() { Value = location.Longitude }); result = (long)command.ExecuteScalar(); location.LocationID = (int)result; } } return result; }
public void BaseStationDatabase_DeleteLocation_Throws_If_Writes_Disabled() { var location = new BaseStationLocation() { LocationName = "B" }; location.LocationID = (int)AddLocation(location); _Database.DeleteLocation(location); }
public void BaseStationDatabase_InsertLocation_Correctly_Inserts_Record() { _Database.WriteSupportEnabled = true; var location = new BaseStationLocation() { Altitude = 1.2468, Latitude = 51.3921, Longitude = 123.9132, LocationName = "123456789.123456789.", }; _Database.InsertLocation(location); Assert.AreNotEqual(0, location.LocationID); var readBack = _Database.GetLocations()[0]; Assert.AreEqual(location.LocationID, readBack.LocationID); Assert.AreEqual(1.2468, readBack.Altitude, 0.00001); Assert.AreEqual(51.3921, readBack.Latitude, 0.00001); Assert.AreEqual(123.9132, readBack.Longitude, 0.00001); Assert.AreEqual("123456789.123456789.", readBack.LocationName); }
/// <summary> /// See interface docs. /// </summary> /// <param name="location"></param> public void DeleteLocation(BaseStationLocation location) { if(!WriteSupportEnabled) throw new InvalidOperationException("You cannot delete location records when write support is disabled"); lock(_ConnectionLock) { OpenConnection(); if(_Connection != null) _LocationsTable.Delete(_Connection, _TransactionHelper.Transaction, _DatabaseLog, location); } }
/// <summary> /// See interface docs. /// </summary> /// <returns></returns> public IList<BaseStationLocation> GetLocations() { IList<BaseStationLocation> result = null; lock(_ConnectionLock) { OpenConnection(); if(_Connection != null) result = _LocationsTable.GetAllRecords(_Connection, _TransactionHelper.Transaction, _DatabaseLog); else result = new BaseStationLocation[] {}; } return result; }
public void ReceiverLocationsPresenter_UpdateFromBaseStationDatabaseClicked_Removes_Previous_BaseStationDatabase_Reads_If_No_Longer_In_BaseStation() { var location1 = new BaseStationLocation() { LocationName = "A", Latitude = 1.2, Longitude = 3.4 }; _BaseStationDatabase.Setup(r => r.GetLocations()).Returns(new BaseStationLocation[] { location1, }); _View.Object.ReceiverLocations.Add(new ReceiverLocation() { Name = "B", IsBaseStationLocation = true, UniqueId = 12 }); _Presenter.Initialise(_View.Object); _View.Raise(v => v.UpdateFromBaseStationDatabaseClicked += null, EventArgs.Empty); Assert.AreEqual(1, _View.Object.ReceiverLocations.Count); Assert.AreEqual("A", _View.Object.ReceiverLocations[0].Name); }
public void ReceiverLocationsPresenter_UpdateFromBaseStationDatabaseClicked_Qualifies_Name_If_Non_BaseStationDatabase_Entry_With_Same_Name_Alredy_On_View() { var location1 = new BaseStationLocation() { LocationName = "A", Latitude = 1.2, Longitude = 3.4 }; _BaseStationDatabase.Setup(r => r.GetLocations()).Returns(new BaseStationLocation[] { location1, }); _View.Object.ReceiverLocations.Add(new ReceiverLocation() { Name = "A", IsBaseStationLocation = false, UniqueId = 12 }); _Presenter.Initialise(_View.Object); _View.Raise(v => v.UpdateFromBaseStationDatabaseClicked += null, EventArgs.Empty); Assert.AreEqual(2, _View.Object.ReceiverLocations.Count); var locationA = _View.Object.ReceiverLocations.Where(r => r.Name == "A").Single(); var locationA1 = _View.Object.ReceiverLocations.Where(r => r.Name == "A(1)").Single(); Assert.AreEqual(0.0, locationA.Latitude); Assert.AreEqual(0.0, locationA.Longitude); Assert.AreEqual(false, locationA.IsBaseStationLocation); Assert.AreEqual(12, locationA.UniqueId); Assert.AreEqual("A(1)", locationA1.Name); Assert.AreEqual(1.2, locationA1.Latitude); Assert.AreEqual(3.4, locationA1.Longitude); Assert.AreEqual(true, locationA1.IsBaseStationLocation); Assert.AreEqual(13, locationA1.UniqueId); }
public void ReceiverLocationsPresenter_UpdateFromBaseStationDatabaseClicked_Reuses_UniqueId_If_Name_Previously_Read() { var location1 = new BaseStationLocation() { LocationName = "A", Latitude = 1.2, Longitude = 3.4 }; _BaseStationDatabase.Setup(r => r.GetLocations()).Returns(new BaseStationLocation[] { location1, }); _View.Object.ReceiverLocations.Add(new ReceiverLocation() { Name = "A", IsBaseStationLocation = true, UniqueId = 12 }); _Presenter.Initialise(_View.Object); _View.Raise(v => v.UpdateFromBaseStationDatabaseClicked += null, EventArgs.Empty); Assert.AreEqual(1, _View.Object.ReceiverLocations.Count); var locationA = _View.Object.ReceiverLocations[0]; Assert.AreEqual("A", locationA.Name); Assert.AreEqual(1.2, locationA.Latitude); Assert.AreEqual(3.4, locationA.Longitude); Assert.AreEqual(true, locationA.IsBaseStationLocation); Assert.AreEqual(12, locationA.UniqueId); }
public void ReceiverLocationsPresenter_UpdateFromBaseStationDatabaseClicked_Adds_Entries_From_BaseStation_Database() { var location1 = new BaseStationLocation() { LocationName = "A", Latitude = 1.2, Longitude = 3.4 }; var location2 = new BaseStationLocation() { LocationName = "B", Latitude = 5.6, Longitude = 7.8 }; _BaseStationDatabase.Setup(r => r.GetLocations()).Returns(new BaseStationLocation[] { location1, location2 }); _Presenter.Initialise(_View.Object); _View.Raise(v => v.UpdateFromBaseStationDatabaseClicked += null, EventArgs.Empty); Assert.AreEqual(2, _View.Object.ReceiverLocations.Count); var locationA = _View.Object.ReceiverLocations.Where(r => r.Name == "A").Single(); var locationB = _View.Object.ReceiverLocations.Where(r => r.Name == "B").Single(); Assert.AreEqual(1.2, locationA.Latitude); Assert.AreEqual(3.4, locationA.Longitude); Assert.AreEqual(5.6, locationB.Latitude); Assert.AreEqual(7.8, locationB.Longitude); Assert.IsTrue(locationA.IsBaseStationLocation); Assert.IsTrue(locationB.IsBaseStationLocation); Assert.AreEqual(1, locationA.UniqueId); Assert.AreEqual(2, locationB.UniqueId); _View.Verify(v => v.RefreshLocations()); }