Package com.mobiletheatertech.plot

Source Code of com.mobiletheatertech.plot.LuminaireTest

package com.mobiletheatertech.plot;

import org.testng.annotations.*;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import javax.imageio.metadata.IIOMetadataNode;
import java.util.ArrayList;
import java.util.HashMap;

import static org.testng.Assert.*;

/**
* Test {@code Luminaire}.
*
* @author dhs
* @since 0.0.7
*/
public class LuminaireTest {

    Element venueElement;
    Element elementOnPipe = null;
    Element elementOnTruss = null;
    final String type = "6x9";
    final String pipeName = "luminaireTestPipe";
    final String trussId = "luminaireTestTruss";
    final String target = "frank";
    final String dimmer = "dimmer";
    final String circuit = "circuit";
    final String channel = "channel";
    final String color = "color";
    final String unit = "unit";
    Integer hangPoint1X=20;
    Integer hangPoint1Y=40;
    Integer hangPoint2X=30;
    Integer trussSize=12;
    Integer trussLength=120;
    String pipeLocation = "12";
    String trussLocation = "a 12";


    @Test
    public void isMinderDom() throws Exception {
        Luminaire luminaire = new Luminaire(elementOnPipe);

        assert MinderDom.class.isInstance( luminaire );
    }

    @Test
    public void storesAttributes() throws Exception {
        // These are optional, so their absence should not cause a problem:
        elementOnPipe.removeAttribute("dimmer");
        elementOnPipe.removeAttribute("circuit");
        elementOnPipe.removeAttribute("channel");
        elementOnPipe.removeAttribute("color");
        elementOnPipe.removeAttribute("unit");

        Luminaire luminaire = new Luminaire(elementOnPipe);

        assertEquals( TestHelpers.accessString( luminaire, "type" ), type );
        assertEquals( TestHelpers.accessString( luminaire, "on" ), pipeName );
        assertEquals( TestHelpers.accessString( luminaire, "location" ), pipeLocation );
        assertEquals( TestHelpers.accessString( luminaire, "circuit" ), "" );
        assertEquals( TestHelpers.accessString( luminaire, "dimmer" ), "" );
        assertEquals( TestHelpers.accessString( luminaire, "channel" ), "" );
        assertEquals( TestHelpers.accessString( luminaire, "color" ), "" );
        assertEquals( TestHelpers.accessString( luminaire, "unit" ), "" );
        assertEquals( TestHelpers.accessString( luminaire, "target" ), "" );
    }

    @Test
    public void storesOptionalAttributes() throws Exception {
        elementOnPipe.setAttribute("target", target);

        Luminaire luminaire = new Luminaire(elementOnPipe);

        assertEquals( TestHelpers.accessString( luminaire, "type" ), type );
        assertEquals( TestHelpers.accessString( luminaire, "on" ), pipeName );
        assertEquals( TestHelpers.accessString( luminaire, "location" ), pipeLocation );
        assertEquals( TestHelpers.accessString( luminaire, "circuit" ), circuit );
        assertEquals( TestHelpers.accessString( luminaire, "dimmer" ), dimmer );
        assertEquals( TestHelpers.accessString( luminaire, "channel" ), channel );
        assertEquals( TestHelpers.accessString( luminaire, "color" ), color );
        assertEquals( TestHelpers.accessString( luminaire, "unit" ), unit );
        assertEquals( TestHelpers.accessString( luminaire, "target" ), target );
    }

    // TODO: commented out 2014-07-15 as it was hanging the whole test run.
    // Until such time as I properly implement this class' use of id.
//    @Test
//    public void idUnused() throws Exception {
//        Luminaire luminaire = new Luminaire(elementOnPipe);
//
//        assertNull(TestHelpers.accessString(luminaire, "id"));
//    }

    @Test
    public void storesSelf() throws Exception {
        Luminaire luminaire = new Luminaire(elementOnPipe);

        ArrayList<ElementalLister> thing = ElementalLister.List();

        assert thing.contains( luminaire );
    }

    @Test
    public void registersLayer() throws Exception {
        Luminaire luminaire = new Luminaire(elementOnPipe);

        HashMap<String, Layer> layers = Layer.List();

        assertTrue( layers.containsKey( Luminaire.LAYERTAG ) );
        assertEquals( layers.get( Luminaire.LAYERTAG ).name(), Luminaire.LAYERNAME );
    }

    /*
     * This is to ensure that no exception is thrown if data is OK.
     */
    @Test
    public void justFinePipe() throws Exception {
        new Luminaire(elementOnPipe);
    }

    /*
     * This is to ensure that no exception is thrown if data is OK.
     */
    @Test
    public void justFineTruss() throws Exception {
        new Luminaire(elementOnTruss);
    }

    @Test(expectedExceptions = AttributeMissingException.class,
          expectedExceptionsMessageRegExp = "Luminaire instance is missing required 'type' attribute.")
    public void noType() throws Exception {
        elementOnPipe.removeAttribute("type");
        new Luminaire(elementOnPipe);
    }

    @Test(expectedExceptions = AttributeMissingException.class,
          expectedExceptionsMessageRegExp = "Luminaire instance is missing required 'on' attribute.")
    public void noOn() throws Exception {
        elementOnPipe.removeAttribute("on");
        new Luminaire(elementOnPipe);
    }

    @Test(expectedExceptions = AttributeMissingException.class,
          expectedExceptionsMessageRegExp = "Luminaire instance is missing required 'location' attribute.")
    public void noLocation() throws Exception {
        elementOnPipe.removeAttribute("location");
        new Luminaire(elementOnPipe);
    }

    @Test(expectedExceptions = MountingException.class,
                expectedExceptionsMessageRegExp = "Luminaire of type '" + type +
                        "' has unknown mounting: 'bloorglew'.")
        public void badLocation() throws Exception {
            elementOnPipe.setAttribute("on", "bloorglew");
            Luminaire luminaire = new Luminaire(elementOnPipe);
            luminaire.location();
    }

    // TODO: commented out 2014-04-22 as it was hanging the whole test run.
    @Test(expectedExceptions = MountingException.class,
          expectedExceptionsMessageRegExp = "Luminaire of type 'floob' has unknown mounting: 'bloorglew'.")
    public void badLocationOtherType() throws Exception {
        elementOnPipe.setAttribute("type", "floob");
        elementOnPipe.setAttribute("on", "bloorglew");
//        new Luminaire( elementOnPipe );
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.location();
    }

    @Test(expectedExceptions = MountingException.class,
          expectedExceptionsMessageRegExp = "Luminaire of type '" + type +
                  "' has location -1 which is beyond the end of \\(non-proscenium\\) Pipe '" + pipeName + "'.")
    public void locateOffPipe() throws Exception {
        elementOnPipe.setAttribute("location", "-1");
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.location();
    }

    @Test
    public void verifyOKPipe() throws Exception {
        Luminaire luminaire = new Luminaire(elementOnPipe);

        luminaire.verify();
    }

    @Test(expectedExceptions = InvalidXMLException.class,
            expectedExceptionsMessageRegExp = "Pipe \\("+pipeName+"\\) location is not a number.")
    public void verifyBadPipeLocation() throws Exception {
        elementOnPipe.setAttribute("location", "a");
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();
    }
     @Test
    public void verifyRecordsLocation() throws Exception {
        Luminaire luminaire = new Luminaire(elementOnPipe);

        luminaire.verify();

        assertNotNull( TestHelpers.accessPoint( luminaire, "point"));
    }

    @Test
    public void domPlan() throws Exception {
        Draw draw = new Draw();
        draw.establishRoot();
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();

        luminaire.dom( draw, View.PLAN );

//        NodeList list = draw.root().getElementsByTagName( "use" );
        NodeList group = draw.root().getElementsByTagName( "g" );
        assertEquals( group.getLength(), 2 );
        Node groupNode = group.item( 1 );
        assertEquals( groupNode.getNodeType(), Node.ELEMENT_NODE );
        Element groupElement = (Element) groupNode;
        assertEquals( groupElement.getAttribute( "class" ), Luminaire.LAYERTAG );

        NodeList list = groupElement.getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "34" );

        list = groupElement.getElementsByTagName( "path" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "x" ), "15" );
        assertEquals( diversionElement.getAttribute( "y" ), "9" );
        assertEquals( diversionElement.getAttribute( "width" ), "18" );
        assertEquals( diversionElement.getAttribute( "height" ), "12" );
        assertEquals( diversionElement.getAttribute( "fill" ), "none" );
        assertEquals( diversionElement.getAttribute( "stroke" ), "black" );
        assertEquals( diversionElement.getAttribute( "stroke-width" ), "1" );
        assertEquals( diversionElement.getAttribute( "d" ),
                      "M 16 14 L 19 9 L 29 9 L 32 14 L 29 19 L 19 19 Z" );

        list = groupElement.getElementsByTagName( "rect" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = groupElement.getElementsByTagName( "circle" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = groupElement.getElementsByTagName( "text" );
        assertEquals( list.getLength(), 5 );
/*
       Issue is that circuit text is not displayed.
       Root cause is that the code to modify the output based on Venue Circuiting is too complex and a bit broken.
*/
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        String text = diversionElement.getTextContent();
        assertEquals( text, circuit );
        node = list.item( 1 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, dimmer );
        node = list.item( 2 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, channel );
        node = list.item( 3 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, unit );
        node = list.item( 4 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, color );
    }

    // TODO: commented out 2014-04-22 as it was hanging the whole test run.
    @Test
    public void domPlanCircuitingOne() throws Exception {
        venueElement.setAttribute( "circuiting", "one-to-one" );
        new Venue( venueElement );
        Draw draw = new Draw();
        draw.establishRoot();
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();

        luminaire.dom( draw, View.PLAN );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "34" );

        list = draw.root().getElementsByTagName( "path" );
        assertEquals( list.getLength(), 0 );

        list = draw.root().getElementsByTagName( "rect" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = draw.root().getElementsByTagName( "circle" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = draw.root().getElementsByTagName( "text" );
        assertEquals( list.getLength(), 4 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        String text = diversionElement.getTextContent();
        assertEquals( text, dimmer );
        node = list.item( 1 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, channel );
        node = list.item( 2 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, unit );
        node = list.item( 3 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, color );
    }

    // TODO: commented out 2014-04-22 as it was hanging the whole test run.
    @Test
    public void domPlanCircuitingMany() throws Exception {
        venueElement.setAttribute( "circuiting", "one-to-many" );
        new Venue( venueElement );
        Draw draw = new Draw();
        draw.establishRoot();
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();

        luminaire.dom( draw, View.PLAN );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "34" );

        list = draw.root().getElementsByTagName( "path" );
        assertEquals( list.getLength(), 0 );

        list = draw.root().getElementsByTagName( "rect" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = draw.root().getElementsByTagName( "circle" );
        assertEquals( list.getLength(), 1 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;

        list = draw.root().getElementsByTagName( "text" );
        assertEquals( list.getLength(), 4 );
        node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        String text = diversionElement.getTextContent();
        assertEquals( text, circuit );
        node = list.item( 1 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, channel );
        node = list.item( 2 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, unit );
        node = list.item( 3 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        diversionElement = (Element) node;
        text = diversionElement.getTextContent();
        assertEquals( text, color );
    }


    // TODO: commented out 2014-07-15 as it was hanging the whole test run.
    @Test
    public void domPlanWithTarget() throws Exception {
        Element zoneElement = new IIOMetadataNode( "zone" );
        zoneElement.setAttribute( "id", target );
        zoneElement.setAttribute( "x", "34" );
        zoneElement.setAttribute( "y", "44" );
        zoneElement.setAttribute( "r", "2" );
        new Zone( zoneElement );

        elementOnPipe.setAttribute("target", target);
        Luminaire luminaire = new Luminaire(elementOnPipe);

        Draw draw = new Draw();
        draw.establishRoot();
        MinderDom.VerifyAll();

        luminaire.dom( draw, View.PLAN );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "34" );
        assertEquals( diversionElement.getAttribute( "transform" ), "rotate(-45,24,34)" );
    }

    // TODO: commented out 2014-04-22 as it was hanging the whole test run.
    @Test
    public void domPlanWithMissingTarget() throws Exception {
        Element zoneElement = new IIOMetadataNode( "zone" );
        zoneElement.setAttribute( "id", "bogus" );
        zoneElement.setAttribute( "x", "34" );
        zoneElement.setAttribute( "y", "44" );
        zoneElement.setAttribute( "r", "2" );
        new Zone( zoneElement );

        elementOnPipe.setAttribute("target", target);
        Luminaire luminaire = new Luminaire(elementOnPipe);

        Draw draw = new Draw();
        draw.establishRoot();
        MinderDom.VerifyAll();

        luminaire.dom( draw, View.PLAN );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "34" );
        assertEquals( diversionElement.getAttribute( "transform" ), "rotate(0,24,34)" );
    }

    // TODO: commented out 2014-07-15 as it was hanging the whole test run.
    @Test
    public void domSection() throws Exception {
        Draw draw = new Draw();
        draw.establishRoot();
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();

        luminaire.dom( draw, View.SECTION );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "34" );
        assertEquals( diversionElement.getAttribute( "y" ), "184" );

//        list = draw.root().getElementsByTagName( "path" );
//        assertEquals( list.getLength(), 1 );
//        node = list.item( 0 );
//        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;
//        assertEquals( elementOnPipe.attribute( "x" ), "15" );
//        assertEquals( elementOnPipe.attribute( "y" ), "9" );
//        assertEquals( elementOnPipe.attribute( "width" ), "18" );
//        assertEquals( elementOnPipe.attribute( "height" ), "12" );
//        assertEquals( elementOnPipe.attribute( "fill" ), "none" );
//        assertEquals( elementOnPipe.attribute( "stroke" ), "black" );
//        assertEquals( elementOnPipe.attribute( "stroke-width" ), "1" );
//        assertEquals( elementOnPipe.attribute( "d" ),
//                      "M 16 14 L 19 9 L 29 9 L 32 14 L 29 19 L 19 19 Z" );
//
//        assertEquals( elementOnPipe.attribute( "d" ),
//                      "M 25 39 L 28 34 L 38 34 L 41 39 L 38 44 L 28 44 Z" );
    }

    // TODO: commented out 2014-04-22 as it was hanging the whole test run.
    @Test
    public void domFront() throws Exception {
        Draw draw = new Draw();
        draw.establishRoot();
        Luminaire luminaire = new Luminaire(elementOnPipe);
        luminaire.verify();

        luminaire.dom( draw, View.FRONT );

        NodeList list = draw.root().getElementsByTagName( "use" );
        assertEquals( list.getLength(), 1 );
        Node node = list.item( 0 );
        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
        Element diversionElement = (Element) node;
        assertEquals( diversionElement.getAttribute( "xlink:href" ), "#" + type );
        assertEquals( diversionElement.getAttribute( "x" ), "24" );
        assertEquals( diversionElement.getAttribute( "y" ), "184" );

//        list = draw.root().getElementsByTagName( "path" );
//        assertEquals( list.getLength(), 1 );
//        node = list.item( 0 );
//        assertEquals( node.getNodeType(), Node.ELEMENT_NODE );
//        elementOnPipe = (Element) node;
//        assertEquals( elementOnPipe.attribute( "x" ), "15" );
//        assertEquals( elementOnPipe.attribute( "y" ), "9" );
//        assertEquals( elementOnPipe.attribute( "width" ), "18" );
//        assertEquals( elementOnPipe.attribute( "height" ), "12" );
//        assertEquals( elementOnPipe.attribute( "fill" ), "none" );
//        assertEquals( elementOnPipe.attribute( "stroke" ), "black" );
//        assertEquals( elementOnPipe.attribute( "stroke-width" ), "1" );
//        assertEquals( elementOnPipe.attribute( "d" ),
//                      "M 16 14 L 19 9 L 29 9 L 32 14 L 29 19 L 19 19 Z" );
//
//        assertEquals( elementOnPipe.attribute( "d" ),
//                      "M 25 39 L 28 34 L 38 34 L 41 39 L 38 44 L 28 44 Z" );
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @BeforeMethod
    public void setUpMethod() throws Exception {
        TestResets.VenueReset();
        TestResets.MinderDomReset();
        TestResets.MountableReset();

        venueElement = new IIOMetadataNode( "venue" );
        venueElement.setAttribute( "room", "Test Name" );
        venueElement.setAttribute( "width", "350" );
        venueElement.setAttribute( "depth", "400" );
        venueElement.setAttribute( "height", "240" );
        Venue venue = new Venue( venueElement );
        venue.verify();

        Element pipeElement = new IIOMetadataNode( "pipe" );
        pipeElement.setAttribute( "id", pipeName );
        pipeElement.setAttribute( "length", "120" );
        pipeElement.setAttribute( "x", "12" );
        pipeElement.setAttribute( "y", "34" );
        pipeElement.setAttribute( "z", "56" );
        Pipe pipe = new Pipe( pipeElement );
        pipe.verify();

        Element hangPoint1 = new IIOMetadataNode( "hangpoint" );
        hangPoint1.setAttribute( "id", "jim" );
        hangPoint1.setAttribute("x", hangPoint1X.toString());
        hangPoint1.setAttribute("y", hangPoint1Y.toString());
        new HangPoint( hangPoint1 );

        Element hangPoint2 = new IIOMetadataNode( "hangpoint" );
        hangPoint2.setAttribute( "id", "joan" );
        hangPoint2.setAttribute("x", hangPoint2X.toString());
        hangPoint2.setAttribute( "y", "200" );
        new HangPoint( hangPoint2 );

        Element suspendElement1 = new IIOMetadataNode( "suspend" );
        suspendElement1.setAttribute( "ref", "jim" );
        suspendElement1.setAttribute( "distance", "1" );
        new Suspend( suspendElement1 );

        Element suspendElement2 = new IIOMetadataNode( "suspend" );
        suspendElement2.setAttribute( "ref", "joan" );
        suspendElement2.setAttribute( "distance", "2" );
        new Suspend( suspendElement2 );

        Element trussElement = new IIOMetadataNode("truss");
        trussElement.setAttribute("id", trussId );
        trussElement.setAttribute("size", trussSize.toString());
        trussElement.setAttribute("length", trussLength.toString());
        trussElement.appendChild( suspendElement1 );
        trussElement.appendChild( suspendElement2 );
        Truss truss = new Truss( trussElement );
        truss.verify();

        elementOnPipe = new IIOMetadataNode( "luminaire" );
        elementOnPipe.setAttribute( "type", type );
        elementOnPipe.setAttribute("on", pipeName);
        elementOnPipe.setAttribute("location", pipeLocation );
        elementOnPipe.setAttribute("dimmer", dimmer);
        elementOnPipe.setAttribute("circuit", circuit);
        elementOnPipe.setAttribute("channel", channel);
        elementOnPipe.setAttribute("color", color);
        elementOnPipe.setAttribute("unit", unit);

        elementOnTruss = new IIOMetadataNode( "luminaire" );
        elementOnTruss.setAttribute( "type", type );
        elementOnTruss.setAttribute("on", trussId);
        elementOnTruss.setAttribute("location", trussLocation );
        elementOnTruss.setAttribute("dimmer", dimmer);
        elementOnTruss.setAttribute("circuit", circuit);
        elementOnTruss.setAttribute("channel", channel);
        elementOnTruss.setAttribute("color", color);
        elementOnTruss.setAttribute("unit", unit);
    }

    @AfterMethod
    public void tearDownMethod() throws Exception {
    }
}
TOP

Related Classes of com.mobiletheatertech.plot.LuminaireTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.