public virtual void testMISCPProductGrayBoxBrochure()
        {
            VJDFAttributeMap vMap = new VJDFAttributeMap();

            for (int i = 0; i < 5; i++)
            {
                string          sheetName = i == 0 ? "Cover" : "Body" + i;
                JDFAttributeMap map       = new JDFAttributeMap();
                map.put(EnumPartIDKey.SignatureName, "Sig1");
                map.put(EnumPartIDKey.SheetName, sheetName);
                map.put(EnumPartIDKey.Side, "Front");
                vMap.Add(new JDFAttributeMap(map));
                map.put(EnumPartIDKey.Side, "Back");
                vMap.Add(new JDFAttributeMap(map));
            }

            MISCPGoldenTicket cpGoldenTicket = new MISCPGoldenTicket(1, null, 2, 2, true, vMap);

            cpGoldenTicket.nCols[0]  = cpGoldenTicket.nCols[1] = 6;
            cpGoldenTicket.workStyle = EnumWorkStyle.WorkAndTurn;

            ProductGoldenTicket pgt = new ProductGoldenTicket(0, EnumVersion.Version_1_3, 0, 0);

            pgt.assign(null);
            pgt.createHDCity();
            JDFNode node   = pgt.getNode();
            JDFNode nodeCP = node.addJDFNode(EnumType.ProcessGroup);

            cpGoldenTicket.assign(nodeCP);
            cpGoldenTicket.good  = 1000;
            cpGoldenTicket.waste = 90;

            cpGoldenTicket.partsAtOnce = 2;
            BaseGoldenTicketTest.write3GTFiles(this, cpGoldenTicket, "MISCPS_ProductGrayBox");
        }
        public virtual void testMISPreImpositionPreparation()
        {
            for (int i = 0; i < 4; i++)
            {
                MISPreGoldenTicket goldenTicket = new MISPreGoldenTicket(1, null, 2, 2, vMap);
                goldenTicket.bStripping = i % 2 == 1;
                goldenTicket.nCols[0]   = goldenTicket.nCols[1] = 4;
                goldenTicket.workStyle  = EnumWorkStyle.WorkAndTurn;
                goldenTicket.setCategory(MISPreGoldenTicket.MISPRE_IMPOSITIONPREPARATION);

                JDFNode nodePre = null;
                if (i < 2)
                {
                    ProductGoldenTicket pgt = new ProductGoldenTicket(0, EnumVersion.Version_1_3, 0, 0);
                    pgt.assign(null);
                    pgt.createHDCity();
                    JDFNode node = pgt.getNode();
                    nodePre = node.addJDFNode(EnumType.ProcessGroup);
                }
                else
                {
                    // nop
                }

                goldenTicket.assign(nodePre);
                BaseGoldenTicketTest.write3GTFiles(this, goldenTicket, "MISPre_" + (i < 2 ? "GB_" : "") + "ImpositionPreparation" + (goldenTicket.bStripping ? "Strip" : ""));
            }
        }
        public virtual void testMIPreComplex()
        {
            for (int i = 0; i < 4; i++)
            {
                for (int ii = 0; ii < 2; ii++)
                {
                    bool bExpand            = ii == 0;
                    ProductGoldenTicket pgt = new ProductGoldenTicket(0, EnumVersion.Version_1_3, 0, 0);
                    pgt.assign(null);
                    pgt.createHDCity();
                    JDFNode node = pgt.getNode();

                    JDFNode            nodePre      = node.addJDFNode(EnumType.ProcessGroup);
                    MISPreGoldenTicket goldenTicket = new MISPreGoldenTicket(1, null, 2, 2, null);
                    goldenTicket.nCols[0]       = goldenTicket.nCols[1] = 4;
                    goldenTicket.workStyle      = EnumWorkStyle.WorkAndTurn;
                    goldenTicket.bExpandGrayBox = bExpand;

                    goldenTicket.setCategory(MISPreGoldenTicket.MISPRE_PREPRESSPREPARATION);
                    goldenTicket.assign(nodePre);
                    pgt.addKid(goldenTicket);

                    MISPreGoldenTicket goldenTicket2 = new MISPreGoldenTicket(goldenTicket, vMap);
                    goldenTicket2.bStripping     = i % 2 == 1;
                    goldenTicket2.bExpandGrayBox = bExpand;

                    JDFNode nodeImp = node.addJDFNode(EnumType.ProcessGroup);
                    goldenTicket2.setCategory(MISPreGoldenTicket.MISPRE_IMPOSITIONPREPARATION);
                    goldenTicket2.assign(nodeImp);
                    pgt.addKid(goldenTicket2);

                    MISPreGoldenTicket goldenTicket3 = new MISPreGoldenTicket(goldenTicket2, null);
                    JDFNode            nodeRIP       = node.addJDFNode(EnumType.ProcessGroup);
                    goldenTicket3.bExpandGrayBox = bExpand;
                    goldenTicket3.setCategory(i < 2 ? MISPreGoldenTicket.MISPRE_IMPOSITIONRIPING : MISPreGoldenTicket.MISPRE_PLATEMAKING);
                    goldenTicket3.assign(nodeRIP);
                    pgt.addKid(goldenTicket3);

                    if (i < 2)
                    {
                        MISPreGoldenTicket goldenTicket4 = new MISPreGoldenTicket(goldenTicket3, null);
                        JDFNode            nodePlateSet  = node.addJDFNode(EnumType.ProcessGroup);
                        goldenTicket4.setCategory(MISPreGoldenTicket.MISPRE_PLATESETTING);
                        goldenTicket4.assign(nodePlateSet);
                        pgt.addKid(goldenTicket4);
                    }

                    BaseGoldenTicketTest.write3GTFiles(this, pgt, "MISPre_ComplexPlate" + (i >= 2 ? "Making" : "Setting") + (goldenTicket2.bStripping ? "Strip" : "") + (bExpand ? "Expand" : ""));
                }
            }
        }
        public virtual void testMISPreContentCreation()
        {
            MISPreGoldenTicket goldenTicket = new MISPreGoldenTicket(1, null, 2, 2, vMap);

            goldenTicket.nCols[0]  = goldenTicket.nCols[1] = 4;
            goldenTicket.workStyle = EnumWorkStyle.WorkAndTurn;
            goldenTicket.setCategory(MISPreGoldenTicket.MISPRE_CONTENTCREATION);

            ProductGoldenTicket pgt = new ProductGoldenTicket(0, EnumVersion.Version_1_3, 0, 0);

            pgt.assign(null);
            pgt.createHDCity();
            JDFNode node    = pgt.getNode();
            JDFNode nodePre = node.addJDFNode(EnumType.ProcessGroup);

            goldenTicket.assign(nodePre);
            BaseGoldenTicketTest.write3GTFiles(this, goldenTicket, "MISPre_ContentCreation");
        }
        public virtual void testMISCPGrayBoxSimplexPoster()
        {
            VJDFAttributeMap vMap = new VJDFAttributeMap();
            JDFAttributeMap  map  = new JDFAttributeMap();

            map.put(EnumPartIDKey.SignatureName, "Sig1");
            map.put(EnumPartIDKey.SheetName, "Sheet1");
            map.put(EnumPartIDKey.Side, "Front");
            vMap.Add(new JDFAttributeMap(map));

            MISCPGoldenTicket cpGoldenTicket = new MISCPGoldenTicket(1, null, 2, 2, true, vMap);

            cpGoldenTicket.nCols[0]  = cpGoldenTicket.nCols[1] = 6;
            cpGoldenTicket.workStyle = EnumWorkStyle.Simplex;
            cpGoldenTicket.assign(null);
            cpGoldenTicket.good  = 1000;
            cpGoldenTicket.waste = 90;

            BaseGoldenTicketTest.write3GTFiles(this, cpGoldenTicket, "MISCPS_SimplexPoster");
        }