79 lines
1.6 KiB
C#
79 lines
1.6 KiB
C#
using NUnit.Framework;
|
|
using System;
|
|
using IEC61850.Common;
|
|
using IEC61850.Client;
|
|
|
|
namespace tests
|
|
{
|
|
[TestFixture ()]
|
|
public class Test
|
|
{
|
|
[Test ()]
|
|
public void TestCase ()
|
|
{
|
|
var val = new MmsValue (10.0f);
|
|
|
|
Assert.AreEqual (10.0f, val.ToFloat ());
|
|
}
|
|
|
|
[Test ()]
|
|
public void MmsValueBitString ()
|
|
{
|
|
var val = MmsValue.NewBitString(10);
|
|
|
|
Assert.AreEqual (MmsType.MMS_BIT_STRING, val.GetType());
|
|
Assert.AreEqual (10, val.Size());
|
|
|
|
val.BitStringFromUInt32(7);
|
|
|
|
Assert.AreEqual(7, val.BitStringToUInt32());
|
|
|
|
Assert.AreEqual(true, val.GetBit(0));
|
|
Assert.AreEqual(true, val.GetBit(1));
|
|
Assert.AreEqual(true, val.GetBit(2));
|
|
Assert.AreEqual(false, val.GetBit(3));
|
|
|
|
Assert.AreEqual(false, val.GetBit(9));
|
|
|
|
Assert.AreEqual(false, val.GetBit(10));
|
|
|
|
val.SetBit(3, true);
|
|
Assert.AreEqual(true, val.GetBit(3));
|
|
|
|
Assert.AreEqual(15, val.BitStringToUInt32());
|
|
|
|
val.SetBit(3, false);
|
|
Assert.AreEqual(7, val.BitStringToUInt32());
|
|
}
|
|
|
|
[Test()]
|
|
public void MmsValueOctetString ()
|
|
{
|
|
var val = MmsValue.NewOctetString(20);
|
|
|
|
Assert.AreEqual (0, val.Size());
|
|
Assert.AreEqual (20, val.MaxSize());
|
|
|
|
byte[] octetString = val.getOctetString();
|
|
|
|
Assert.AreEqual (0, octetString.Length);
|
|
|
|
octetString = new byte[5];
|
|
octetString[0] = 0x11;
|
|
octetString[1] = 0x12;
|
|
octetString[2] = 0x13;
|
|
octetString[3] = 0x14;
|
|
octetString[4] = 0x15;
|
|
|
|
val.setOctetString(octetString);
|
|
|
|
Assert.AreEqual(5, val.Size());
|
|
|
|
byte[] secondOctetString = val.getOctetString();
|
|
|
|
Assert.AreEqual(octetString, secondOctetString);
|
|
}
|
|
|
|
}
|
|
}
|
|
|