NormData Refactor (#30)
* Switched NormData Data property to a method * Corrected NormData summary comment * Updated NormData GetData to use Marshal.Copy * Fixed warnings * Updated NormData designpull/85/head
parent
1d91fdef33
commit
3cdb415e8a
|
|
@ -1,7 +1,7 @@
|
|||
@startuml
|
||||
class NormData {
|
||||
~ NormData(handle:long)
|
||||
+ byte[] Data <<get>>
|
||||
+ byte[] GetData()
|
||||
}
|
||||
NormObject <|-- NormData
|
||||
@enduml
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
namespace Mil.Navy.Nrl.Norm
|
||||
{
|
||||
/// <summary>
|
||||
/// A transport object of type NORM_OBJECT_FILE.
|
||||
/// A transport object of type NORM_OBJECT_DATA.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The data storage area for the specified transport object.
|
||||
|
|
@ -11,21 +11,15 @@ namespace Mil.Navy.Nrl.Norm
|
|||
public class NormData : NormObject
|
||||
{
|
||||
/// <summary>
|
||||
/// The data storage area associated with a transport object of type NORM_OBJECT_DATA.
|
||||
/// Get the data storage area associated with a transport object of type NORM_OBJECT_DATA.
|
||||
/// </summary>
|
||||
public byte[] Data
|
||||
public byte[] GetData()
|
||||
{
|
||||
get
|
||||
{
|
||||
var dataPointer = NormDataAccessData(_handle);
|
||||
var length = NormObjectGetSize(_handle);
|
||||
var data = new byte[length];
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
data[i] = Marshal.ReadByte(dataPointer, i);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
var dataPointer = NormDataAccessData(_handle);
|
||||
var length = NormObjectGetSize(_handle);
|
||||
var data = new byte[length];
|
||||
Marshal.Copy(dataPointer, data, 0, length);
|
||||
return data;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ namespace Mil.Navy.Nrl.Norm.IntegrationTests
|
|||
if (_isReceiverStarted && !_isReceiverStopped)
|
||||
{
|
||||
_normSession.StopReceiver();
|
||||
_isSenderStopped = true;
|
||||
_isReceiverStopped = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -412,7 +412,7 @@ namespace Mil.Navy.Nrl.Norm.IntegrationTests
|
|||
var expectedEventTypes = new List<NormEventType> { NormEventType.NORM_TX_OBJECT_SENT, NormEventType.NORM_TX_QUEUE_EMPTY };
|
||||
var actualEventTypes = GetEvents().Select(e => e.Type).ToList();
|
||||
Assert.Equal(expectedEventTypes, actualEventTypes);
|
||||
var actualData = normData.Data;
|
||||
var actualData = normData.GetData();
|
||||
Assert.Equal(expectedData, actualData);
|
||||
var actualContent = Encoding.ASCII.GetString(actualData);
|
||||
Assert.Equal(expectedContent, actualContent);
|
||||
|
|
@ -464,9 +464,9 @@ namespace Mil.Navy.Nrl.Norm.IntegrationTests
|
|||
Assert.Equivalent(expectedEventTypes, actualEventTypes);
|
||||
|
||||
var actualEvent = actualEvents.FirstOrDefault(e => e.Type == NormEventType.NORM_RX_OBJECT_COMPLETED);
|
||||
var actualNormData = Assert.IsType<NormData>(actualEvent.Object);
|
||||
var actualNormData = Assert.IsType<NormData>(actualEvent?.Object);
|
||||
|
||||
var actualData = actualNormData.Data;
|
||||
var actualData = actualNormData.GetData();
|
||||
Assert.Equal(expectedData, actualData);
|
||||
var actualContent = Encoding.ASCII.GetString(actualData);
|
||||
Assert.Equal(expectedContent, actualContent);
|
||||
|
|
|
|||
Loading…
Reference in New Issue