public static SystemStatusDTO createSystemStatusDTO(SystemStatus source) { if (null == source) { return(null); } SystemStatusDTO result = new SystemStatusDTO(); Utilities.CopySimilar.CopyAll(source, result); result.sensorsEnabled = new List <String>(); foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsEnabled) { result.sensorsEnabled.Add(flag.ToString()); } result.sensorsHealth = new List <String>(); foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsHealth) { result.sensorsHealth.Add(flag.ToString()); } result.sensorsPresent = new List <String>(); foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsPresent) { result.sensorsPresent.Add(flag.ToString()); } return(result); }
public void CheckSystemStatusObject() { MAVLink.mavlink_sys_status_t statusStruct = new MAVLink.mavlink_sys_status_t(); statusStruct.voltage_battery = 1; statusStruct.current_battery = 2; statusStruct.battery_remaining = 3; statusStruct.drop_rate_comm = 4; statusStruct.errors_comm = 5; statusStruct.errors_count1 = 6; statusStruct.errors_count2 = 7; statusStruct.errors_count3 = 8; statusStruct.errors_count4 = 9; MavLinkMessage message = new MavLinkMessage(); message.compid = 1; message.messid = MAVLink.MAVLINK_MSG_ID.SYS_STATUS; message.seq = 1; message.sysid = 1; message.data_struct = statusStruct; SystemStatus systemStatus = new SystemStatus(message); Assert.AreEqual(statusStruct.voltage_battery, systemStatus.voltage_battery); Assert.AreEqual(statusStruct.current_battery, systemStatus.current_battery); Assert.AreEqual(statusStruct.battery_remaining, systemStatus.battery_remaining); Assert.AreEqual(statusStruct.drop_rate_comm, systemStatus.drop_rate_comm); Assert.AreEqual(statusStruct.errors_comm, systemStatus.errors_comm); Assert.AreEqual(statusStruct.errors_count1, systemStatus.errors_count1); Assert.AreEqual(statusStruct.errors_count2, systemStatus.errors_count2); Assert.AreEqual(statusStruct.errors_count3, systemStatus.errors_count3); Assert.AreEqual(statusStruct.errors_count4, systemStatus.errors_count4); SystemStatusDTO dto = DTOFactory.createSystemStatusDTO(systemStatus); Assert.AreEqual(dto.voltage_battery, systemStatus.voltage_battery); Assert.AreEqual(dto.current_battery, systemStatus.current_battery); Assert.AreEqual(dto.battery_remaining, systemStatus.battery_remaining); Assert.AreEqual(dto.drop_rate_comm, systemStatus.drop_rate_comm); Assert.AreEqual(dto.errors_comm, systemStatus.errors_comm); Assert.AreEqual(dto.errors_count1, systemStatus.errors_count1); Assert.AreEqual(dto.errors_count2, systemStatus.errors_count2); Assert.AreEqual(dto.errors_count3, systemStatus.errors_count3); Assert.AreEqual(dto.errors_count4, systemStatus.errors_count4); String json = JsonConvert.SerializeObject(dto); }