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); }
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); }