示例#1
0
        public void SendMessageThroughDynamicPeerEventTest()
        {
            var         mockClient     = new Mock <INetworkPeer>();
            byte        id             = 1;
            IDisposable argsDisposable = null;
            //create a new dynamic type
            var propertyList = new List <RuntimePropertyInfo>
            {
                new RuntimePropertyInfo {
                    PropertyName = "Name",
                    PropertyType = typeof(string)
                }
            };
            IPocoBuilder PocoBuilder = new CsScriptPocoBuilder();
            Type         myNewType   = PocoBuilder.Build("POCO", propertyList);
            var          myNewObject = Activator.CreateInstance(myNewType);

            //create a dynamic event raising class
            var EventFactory      = new ClientEventFactory();
            var eventRaisingclass = EventFactory.Create(myNewType, argsDisposable, id);

            // eventRaisingclass.Event += peerEvent;
            eventRaisingclass.SubscribeEvent(mockClient.Object);

            string message = "hello";

            eventRaisingclass.Send(message);

            //verify that the message was sent
            //mockClient.Verify(c => c.SendMessage(message, id), Times.Once);
        }
示例#2
0
        public void SetDynamicObjectValueTest_CsScript()
        {
            var propertyList = new List<RuntimePropertyInfo>
            {
                new RuntimePropertyInfo{
                        PropertyName = "StringParameter",
                        PropertyType = typeof(string)
                },
                new RuntimePropertyInfo{
                        PropertyName = "IntParameter",
                        PropertyType = typeof(Byte)
                }
            };
            IPocoBuilder PocoBuilder = new CsScriptPocoBuilder();
            Type myNewType = PocoBuilder.Build("POCO", propertyList);

            var myObject = (INetworkPackage)Activator.CreateInstance(myNewType, "string", (byte)1);
            myObject.Id= 1;
            Assert.AreEqual(myObject.Id, 1);
        }