public void ArtDmxPackageTestForCorrectHeader()
        {
            // Arrange
            var data = new byte[0];

            // Act
            var actual      = new ArtDmxPackage(data);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(65, actualBytes[0], "A");
            Assert.AreEqual(114, actualBytes[1], "r");
            Assert.AreEqual(116, actualBytes[2], "t");
            Assert.AreEqual(45, actualBytes[3], "-");
            Assert.AreEqual(78, actualBytes[4], "N");
            Assert.AreEqual(101, actualBytes[5], "e");
            Assert.AreEqual(116, actualBytes[6], "t");
            Assert.AreEqual(0, actualBytes[7], "\0");
            Assert.AreEqual(0, actualBytes[8], "OpCodeLo");
            Assert.AreEqual(80, actualBytes[9], "OpCodeHi");
            Assert.AreEqual(0, actualBytes[10], "ProtVerHi");
            Assert.AreEqual(14, actualBytes[11], "ProtVerLo");
            Assert.AreEqual(1, actualBytes[12], "Sequence");
            Assert.AreEqual(0, actualBytes[13], "Physical");
            Assert.AreEqual(0, actualBytes[14], "SubUni");
            Assert.AreEqual(0, actualBytes[15], "Net");
            Assert.AreEqual(2, actualBytes[16], "LengthHi");
            Assert.AreEqual(0, actualBytes[17], "Length");
        }
        public void ArtDmxPackageCtorPairs2Explicit()
        {
            // Arrange

            // Act
            var actual      = new ArtDmxPackage(1, 1, 2, 2);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(1, actualBytes[18]);
            Assert.AreEqual(2, actualBytes[19]);
        }
        public void ArtDmxPackageCtorByteArray2Elements()
        {
            // Arrange
            var data = new byte[] { 1, 2 };

            // Act
            var actual      = new ArtDmxPackage(data);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(1, actualBytes[18]);
            Assert.AreEqual(2, actualBytes[19]);
        }
        public void ArtDmxPackageCtorByteArrayEmpty()
        {
            // Arrange
            var data = new byte[0];

            // Act
            var actual      = new ArtDmxPackage(data);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(0, actualBytes[18]);
            Assert.AreEqual(0, actualBytes[19]);
        }
        public void ArtDmxPackageCtorPairs0Elements()
        {
            // Arrange
            var pairs = new AddressValuePair[0];

            // Act
            var actual      = new ArtDmxPackage(pairs);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(0, actualBytes[18]);
            Assert.AreEqual(0, actualBytes[19]);
        }
        public void ArtDmxPackageCtorPairs1Explicit()
        {
            // Arrange
            var data = new byte[0];

            // Act
            var actual      = new ArtDmxPackage(1, 1);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(1, actualBytes[18]);
            Assert.AreEqual(0, actualBytes[19]);
        }
        public void ArtDmxPackageCtorByteArray513Elements()
        {
            // Arrange
            var data = Enumerable.Range(0, 513).Select(i => (byte)i).ToArray();

            // Act
            var actual      = new ArtDmxPackage(data);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(0, actual.Universe);
            for (int i = 18; i < 530; i++)
            {
                Assert.AreEqual(data[i - 18], actualBytes[i], "i = " + i);
            }
        }
        public void ArtDmxPackageCtorPairs513Elements()
        {
            // Arrange
            var data  = Enumerable.Range(1, 513).Select(i => (byte)i).ToArray();
            var pairs = Enumerable.Range(1, 514).Select(i => new AddressValuePair((short)i, (byte)i)).ToArray();

            // Act
            var actual      = new ArtDmxPackage(pairs);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(512, actual.Length);
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(530, actualBytes.Length);
            for (int i = 18; i < 530; i++)
            {
                Assert.AreEqual(data[i - 18], actualBytes[i], "i = " + i);
            }
        }
        public void ArtDmxPackageCtorPairs1ExplicitMaxValue()
        {
            // Arrange
            var data = new byte[0];

            // Act
            var actual      = new ArtDmxPackage(512, 1);
            var actualBytes = actual.GetBytes();

            // Assert
            Assert.AreEqual(512, actual.Length);
            Assert.AreEqual(0, actual.Universe);
            Assert.AreEqual(530, actualBytes.Length);
            for (int i = 18; i < 529; i++)
            {
                Assert.AreEqual(0, actualBytes[i], "i = " + i);
            }

            Assert.AreEqual(1, actualBytes[529]);
        }
Esempio n. 10
0
        public async Task SendTest()
        {
            // Arrange
            var package  = new ArtDmxPackage(new byte[] { 1, 2 });
            var expected = package.GetBytes();

            expected[12] = 2;
            var receiver = new UdpClient(Sender.ArtNetDefaultPort);
            var sender   = new Sender("127.0.0.1");

            // Act
            var t = receiver.ReceiveAsync();
            await sender.SendAsync(package);

            var actual = (await t).Buffer;

            // Assert
            Assert.IsNotNull(actual);
            CollectionAssert.AreEqual(expected, actual);
        }