示例#1
0
        public void CitpCaExFixtureModifyTest()
        {
            CaExFixtureModify sentPacket = new CaExFixtureModify();

            for (int i = 0; i < 4; i++)
            {
                CaExFixtureModify.FixtureChange newFixture = new CaExFixtureModify.FixtureChange();
                newFixture.FixtureId     = 1690;
                newFixture.ChangedFields = CaExFixtureModify.Modification.Circuit & CaExFixtureModify.Modification.UnitNumber;
                newFixture.Patched       = true;
                newFixture.DMXUniverse   = 12;
                newFixture.DMXAddress    = (ushort)(1 + (i * 24));
                newFixture.Unit          = "16";
                newFixture.Channel       = 10;
                newFixture.Circuit       = "H1.1";
                newFixture.Note          = "A fixture of some sort";
                newFixture.Position      = new Coordinate()
                {
                    X = 5, Y = 2, Z = -4
                };
                newFixture.Angle = new Coordinate()
                {
                    X = 180, Y = 90, Z = 90
                };
                sentPacket.Fixtures.Add(newFixture);
            }

            CaExFixtureModify received = CitpPacketTester.SendAndReceiveCaExPacket(sentPacket) as CaExFixtureModify;
            int fixtureCount           = sentPacket.Fixtures.Count();

            Assert.AreEqual(fixtureCount, received.Fixtures.Count(), "Option count mismatch");
            for (int i = 0; i < fixtureCount; i++)
            {
                Assert.AreEqual(sentPacket.Fixtures[i].FixtureId, received.Fixtures[i].FixtureId, "Id is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Patched, received.Fixtures[i].Patched, "IsPatched is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].DMXUniverse, received.Fixtures[i].DMXUniverse, "DMXUniverse is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].DMXAddress, received.Fixtures[i].DMXAddress, "DMXAddress is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Unit, received.Fixtures[i].Unit, "Unit is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Channel, received.Fixtures[i].Channel, "ManufacturerName is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Circuit, received.Fixtures[i].Circuit, "ManufacturerName is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Note, received.Fixtures[i].Note, "Note is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Position, received.Fixtures[i].Position, "Position is not equal.");
                Assert.AreEqual(sentPacket.Fixtures[i].Angle, received.Fixtures[i].Angle, "Angle is not equal.");
            }
        }
示例#2
0
        private static CitpPacket BuildCaEx(CitpRecieveData data)
        {
            CaExHeader header = new CaExHeader(0x0);

            header.ReadData(data.GetReader());

            CitpPacket packet = null;

            switch (header.ContentCode)
            {
            case CaExContentCodes.Nack:
                packet = new CaExNack();
                break;

            case CaExContentCodes.GetLiveViewStatus:
                packet = new CaExGetLiveViewStatus();
                break;

            case CaExContentCodes.LiveViewStatus:
                packet = new CaExLiveViewStatus();
                break;

            case CaExContentCodes.GetLiveViewImage:
                packet = new CaExGetLiveViewImage();
                break;

            case CaExContentCodes.LiveViewImage:
                packet = new CaExLiveViewImage();
                break;

            case CaExContentCodes.SetCueRecordingCapabilities:
                packet = new CaExSetCueRecordingCapabilities();
                break;

            case CaExContentCodes.RecordCue:
                packet = new CaExRecordCue();
                break;

            case CaExContentCodes.SetRecorderClearingCapabilities:
                packet = new CaExSetRecorderClearingCapabilities();
                break;

            case CaExContentCodes.ClearRecorder:
                packet = new CaExClearRecorder();
                break;

            case CaExContentCodes.EnterShow:
                packet = new CaExEnterShow();
                break;

            case CaExContentCodes.LeaveShow:
                packet = new CaExLeaveShow();
                break;

            case CaExContentCodes.FixtureConsoleStatus:
                packet = new CaExFixtureConsoleStatus();
                break;

            case CaExContentCodes.FixtureListRequest:
                packet = new CaExFixtureListRequest();
                break;

            case CaExContentCodes.FixtureList:
                packet = new CaExFixtureList();
                break;

            case CaExContentCodes.FixtureModify:
                packet = new CaExFixtureModify();
                break;

            case CaExContentCodes.FixtureRemove:
                packet = new CaExFixtureRemove();
                break;

            case CaExContentCodes.FixtureSelection:
                packet = new CaExFixtureSelection();
                break;

            case CaExContentCodes.FixtureIdentify:
                packet = new CaExFixtureIdentify();
                break;

            case CaExContentCodes.GetLaserFeedList:
                //Not implemented yet, left here as placeholder.
                return(null);

            default:
                return(null);
            }

            packet.ReadData(data.GetReader());
            return(packet);
        }