Exemplo n.º 1
0
        public bool DoConnect(int TimeOut = 10000)
        {
            if (clientPipe != null)
            {
                return(false);
            }

            clientPipe = new PipeConnector(".", Name);
            if (!clientPipe.Connect(TimeOut))
            {
                clientPipe = null;
                return(false);
            }

            clientPipe.PipeClosed += (sndr, args) =>
            {
                clientPipe = null;
            };

            clientPipe.PushNotification += (sndr, call) =>
            {
                HandlePushNotification(call.Item1, call.Item2);
            };

            return(true);
        }
        public void GetModelItem_PipeConnector_Test()
        {
            PipeConnector pipeConnector = iwSvc.GetModelItem <PipeConnector>(1, "pipe_connectors", "pipe_connectors", 1);

            Assert.IsNotNull(pipeConnector, "null result, error happens.");
            Assert.AreEqual("1", pipeConnector.id);
            Assert.AreEqual(AiwGeometryType.Point, pipeConnector.geometry.Type);
            Assert.AreEqual(-96.68496151718864, (pipeConnector.geometry as AiwPoint).Coordinate.X, 0.000001);
        }
Exemplo n.º 3
0
        public void Close()
        {
            if (clientPipe == null)
            {
                return;
            }

            clientPipe.Close();
            clientPipe = null;
        }
Exemplo n.º 4
0
        public void TestMethod3()
        {
            // Arrange
            var sequence = PipeConnector.CreateSequence <AirportInfoComponent, UnaryAbbreviationExtenderComponent>();

            // Act
            var example = sequence.Execute("JFK");

            // Assert
            Assert.True(example.ToString().Contains("John Fitzgerald Kennedy"));
        }
Exemplo n.º 5
0
        public void TestPipeConnectorSendsCallRequest()
        {
            Mock <IFormatter>             formatterMock             = new Mock <IFormatter>();
            Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>();
            Mock <PipeStreamFactory>      pipeStreamFactoryMock     = GetPipeStreamFactoryMock();

            PipeToken      pipeToken      = new PipeToken(Guid.NewGuid().ToString());
            IPipeConnector pipeConnector  = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken);
            CallData       callDataToSend = new CallData();

            pipeConnector.SendCallRequest(callDataToSend);

            formatterMock.Verify(mock => mock.Serialize(It.IsAny <PipeStream>(), It.Is <CallData>(actual => ReferenceEquals(actual, callDataToSend))), Times.AtLeast(1));
        }
Exemplo n.º 6
0
        public void TestPipeConnectorOpensPipe()
        {
            Mock <IFormatter>             formatterMock             = new Mock <IFormatter>();
            Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>();
            Mock <PipeStreamFactory>      pipeStreamFactoryMock     = GetPipeStreamFactoryMock();

            PipeToken      pipeToken      = new PipeToken(Guid.NewGuid().ToString());
            IPipeConnector pipeConnector  = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken);
            CallData       callDataToSend = new CallData();

            pipeConnector.SendCallRequest(callDataToSend);

            pipeStreamFactoryMock.Verify(mock => mock.GetConnectedPipeStream(It.Is <PipeToken>(actual => Equals(actual, pipeToken))), Times.Once);
        }
Exemplo n.º 7
0
        public void TestMethod4()
        {
            // Arrange
            var sequence = PipeConnector.CreateSequence <AirportInfoComponent, UnaryAbbreviationExtenderComponent>();
            var inverse  = PipeConnector.CreateSequence <UnaryAbbreviationExtenderComponent, AirportInfoComponent>();

            // Act
            var example        = sequence.Execute("JFK") as List <object>;
            var inverseExample = inverse.Execute("JFK") as List <object>;

            // Assert
            Assert.NotNull(example);
            Assert.NotNull(inverseExample);

            Assert.True(example[0].ToString().Contains("John Fitzgerald Kennedy"));
            Assert.AreEqual("The computation finished with an error.", inverseExample[0]);
        }
Exemplo n.º 8
0
        public void TestPipeGetsClosed()
        {
            CallResult callResultToFetch = new CallResult();

            Mock <IFormatter> formatterMock = new Mock <IFormatter>();

            formatterMock
            .Setup(x => x.Deserialize(It.IsAny <Stream>()))
            .Returns(callResultToFetch);
            Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>();
            Mock <PipeStreamFactory>      pipeStreamFactoryMock     = GetPipeStreamFactoryMock();

            PipeToken      pipeToken     = new PipeToken(Guid.NewGuid().ToString());
            IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken);

            pipeConnector.Dispose();

            formatterMock.Verify(mock => mock.Serialize(It.IsAny <PipeStream>(), It.Is <CallData>(actual => actual.Status.Equals(KeepAliveStatus.Close))), Times.AtLeast(1));
        }
Exemplo n.º 9
0
        public void TestPipeConnectorFetchesCallResponse()
        {
            CallResult callResultToFetch = new CallResult();

            Mock <IFormatter> formatterMock = new Mock <IFormatter>();

            formatterMock
            .Setup(x => x.Deserialize(It.IsAny <Stream>()))
            .Returns(callResultToFetch);
            Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>();
            Mock <PipeStreamFactory>      pipeStreamFactoryMock     = GetPipeStreamFactoryMock();

            PipeToken      pipeToken     = new PipeToken(Guid.NewGuid().ToString());
            IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken);

            CallResult actualCallResult = pipeConnector.ReceiveCallResponse();

            formatterMock.Verify(mock => mock.Deserialize(It.IsAny <PipeStream>()), Times.AtLeast(1));
            Assert.AreEqual(callResultToFetch, actualCallResult);
        }
Exemplo n.º 10
0
        public void TestThrowsExceptionIfContainedInCallResult()
        {
            CallResult callResultToFetch = new CallResult();

            callResultToFetch.Exception = new LegacyWrapperException();

            Mock <IFormatter> formatterMock = new Mock <IFormatter>();

            formatterMock
            .Setup(x => x.Deserialize(It.IsAny <Stream>()))
            .Returns(callResultToFetch);
            Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>();
            Mock <PipeStreamFactory>      pipeStreamFactoryMock     = GetPipeStreamFactoryMock();

            PipeToken      pipeToken     = new PipeToken(Guid.NewGuid().ToString());
            IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken);

            pipeConnector.ReceiveCallResponse();

            Assert.Fail("Exception should have been thrown by PipeConnector");
        }
Exemplo n.º 11
0
        private static void Main(string[] args)
        {
            // receive raw airport data
            var info = AirportInfoComponent.Execute("JFK");
            // {"delay":"true","IATA":"JFK"...

            // directly map results to your classes
            var delay = AirportInfoComponent.Execute <AirportInfo>("JFK").Delay;
            // true

            // string components together
            var sequence = PipeConnector.CreateSequence <AirportInfoComponent, UnaryAbbreviationExtenderComponent>();
            var example  = sequence.Execute("JFK");
            // example = {"delay":"true","internationalAirTransportAssociation":"John Fitzgerald Kennedy...

            var username  = "******";
            var password  = "******";
            var sessionId = GeoNamesPostalCodesComponent.Login(username, password);
            var result    = (string)GeoNamesPostalCodesComponent.PostalCode(username, sessionId, "8001");

            var geo = result.ToInstance <GeoInfo>();
        }
Exemplo n.º 12
0
        /// <summary>
        /// create the connectors on the extrusions
        /// </summary>
        private void CreateConnectors()
        {
            List <PlanarFace> m_planarFaces = null;
            Parameter         param         = null;

            #region Create the Supply Air duct connector

            // get the planar faces of extrusion1
            m_planarFaces = GetPlanarFaces(extrusions[1]);

            // create the Supply Air duct connector
            DuctConnector connSupplyAir = f.NewDuctConnector(m_planarFaces[0].Reference,
                                                             DuctSystemType.SupplyAir);
            param = connSupplyAir.get_Parameter(BuiltInParameter.CONNECTOR_HEIGHT);
            param.Set(connectorDimensions[0, 0]);
            param = connSupplyAir.get_Parameter(BuiltInParameter.CONNECTOR_WIDTH);
            param.Set(connectorDimensions[0, 1]);
            param = connSupplyAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_DIRECTION_PARAM);
            param.Set(2);
            param = connSupplyAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_CONFIGURATION_PARAM);
            param.Set(1);
            param = connSupplyAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_PARAM);
            param.Set(flow);

            #endregion

            #region Create the Return Air duct connector

            // get the planar faces of extrusion2
            m_planarFaces = GetPlanarFaces(extrusions[2]);

            // create the Return Air duct connector
            DuctConnector connReturnAir = f.NewDuctConnector(m_planarFaces[0].Reference,
                                                             DuctSystemType.ReturnAir);
            param = connReturnAir.get_Parameter(BuiltInParameter.CONNECTOR_HEIGHT);
            param.Set(connectorDimensions[1, 0]);
            param = connReturnAir.get_Parameter(BuiltInParameter.CONNECTOR_WIDTH);
            param.Set(connectorDimensions[1, 1]);
            param = connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_DIRECTION_PARAM);
            param.Set(1);
            param =
                connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_CONFIGURATION_PARAM);
            param.Set(1);
            param = connReturnAir.get_Parameter(BuiltInParameter.RBS_DUCT_FLOW_PARAM);
            param.Set(flow);

            #endregion

            #region Create the Supply Hydronic pipe connector

            // get the planar faces of extrusion3
            m_planarFaces = GetPlanarFaces(extrusions[3]);

            // create the Hydronic Supply pipe connector
            PipeConnector connSupplyHydronic = f.NewPipeConnector(m_planarFaces[0].Reference,
                                                                  PipeSystemType.SupplyHydronic);
            param = connSupplyHydronic.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
            param.Set(arcRadius);
            param =
                connSupplyHydronic.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
            param.Set(2);

            #endregion

            #region Create the Return Hydronic pipe connector

            // get the planar faces of extrusion4
            m_planarFaces = GetPlanarFaces(extrusions[4]);

            // create the Hydronic Return pipe connector
            PipeConnector connReturnHydronic = f.NewPipeConnector(m_planarFaces[0].Reference,
                                                                  PipeSystemType.ReturnHydronic);
            param = connReturnHydronic.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
            param.Set(arcRadius);
            param =
                connReturnHydronic.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
            param.Set(1);

            #endregion
        }
Exemplo n.º 13
0
 public PlayerSession()
 {
     m_pipeConnector = new PipeConnector();
     m_pipeConnector.Run();
 }