Example #1
0
        public void FromByteArray()
        {
            String rawInput = "00:01:00:01:23:c4:e7:39:00:15:5d:07:e1:12";

            Byte[]   input      = ByteConverter.FromString(rawInput, ':');
            Byte[]   macAddress = ByteConverter.FromString("00:15:5d:07:e1:12", ':');
            DateTime time       = new DateTime(2019, 1, 6, 16, 20, 09);

            LinkLayerAddressAndTimeDUID duid = LinkLayerAddressAndTimeDUID.FromByteArray(input, 0);

            Assert.Equal(macAddress, duid.LinkLayerAddress);
            Assert.Equal(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, duid.LinkType);
            Assert.Equal(time, duid.Time);
            Assert.Equal(Beer.DaAPI.Core.Common.DUID.DUIDTypes.LinkLayerAndTime, duid.Type);

            Byte[] asByte = duid.GetAsByteStream();
            Assert.Equal(input, asByte);
        }
Example #2
0
        public void FromEthernet()
        {
            Random random = new Random();

            Byte[]   macAddress     = random.NextBytes(6);
            DateTime now            = DateTime.Now;
            DateTime nowOnlySeconds =
                new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second);

            LinkLayerAddressAndTimeDUID duid = LinkLayerAddressAndTimeDUID.FromEthernet(
                macAddress,
                now
                );

            Assert.Equal(macAddress, duid.LinkLayerAddress);
            Assert.Equal(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, duid.LinkType);
            Assert.Equal(nowOnlySeconds, duid.Time);
            Assert.Equal(Beer.DaAPI.Core.Common.DUID.DUIDTypes.LinkLayerAndTime, duid.Type);
        }
Example #3
0
        public void GetDUID_LinkLayerAddressAndTimeDUID()
        {
            String rawInput = "00:01:00:01:23:c4:e7:39:00:15:5d:07:e1:12";

            Byte[]   input      = ByteConverter.FromString(rawInput, ':');
            Byte[]   macAddress = ByteConverter.FromString("00:15:5d:07:e1:12", ':');
            DateTime time       = new DateTime(2019, 1, 6, 16, 20, 09);

            var duid = DUIDFactory.GetDUID(input, 0);

            Assert.NotNull(duid);
            Assert.IsAssignableFrom <LinkLayerAddressAndTimeDUID>(duid);

            LinkLayerAddressAndTimeDUID castedDuid = (LinkLayerAddressAndTimeDUID)duid;

            Assert.Equal(macAddress, castedDuid.LinkLayerAddress);
            Assert.Equal(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, castedDuid.LinkType);
            Assert.Equal(Beer.DaAPI.Core.Common.DUID.DUIDTypes.LinkLayerAndTime, duid.Type);
            Assert.Equal(time, castedDuid.Time);
        }
Example #4
0
        public void SerializeAndDeserialize()
        {
            Random random = new Random();

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.Converters.Add(new DUIDJsonConverter());

            List <DUID> duids = new List <DUID>
            {
                new UUIDDUID(random.NextGuid()),
                new VendorBasedDUID(random.NextUInt32(), random.NextBytes(20)),
                LinkLayerAddressAndTimeDUID.FromEthernet(random.NextBytes(6), DateTime.Now),
                new LinkLayerAddressDUID(LinkLayerAddressDUID.DUIDLinkLayerTypes.Ethernet, random.NextBytes(6))
            };

            String serialized = JsonConvert.SerializeObject(duids, settings);
            var    actual     = JsonConvert.DeserializeObject <List <DUID> >(serialized, settings);

            for (int i = 0; i < duids.Count; i++)
            {
                Assert.Equal(duids[i], actual[i]);
            }
        }