public void GetHandler_OneWrapper_ShouldBeReturnCorrectHandlerMethod() { Action <Planet> action = Console.WriteLine; var wrapper = new JsonDataWrapper <Planet>(); binder.Using(wrapper); binder.Bind <Planet>(1, action); var actualHandlerInfo = binder.GetHandler(1); Assert.AreEqual(action.Method, actualHandlerInfo.Method); }
public void Bind_NoWrapper_BindShouldBeBindActionTwiceAndMore() { Action <Planet> action = Console.WriteLine; var wrapper = new JsonDataWrapper <Planet>(); binder.Using(wrapper); Assert.DoesNotThrow(() => binder.Bind <Planet>(1, action)); Assert.DoesNotThrow(() => binder.Bind <Planet>(1, (Action)TestActionForThisContext)); Assert.DoesNotThrow(() => binder.Bind <Planet>(1, action)); Assert.DoesNotThrow(() => binder.Bind <Planet>(1, (Action)TestActionForThisContext)); }
public void GetWrapper_OneWrapper_ShouldBeReturnCorrectWrapper() { Action <Planet> action = Console.WriteLine; var wrapper = new JsonDataWrapper <Planet>(); binder.Using(wrapper); binder.Bind <Planet>(1, action); var actualWrapperInfo = binder.GetWrapper(1); Assert.AreEqual(typeof(Planet), actualWrapperInfo.Type); Assert.AreEqual(wrapper, actualWrapperInfo.DataWrapper); }
public void Bind_OneWrapper_PossibleToMemoryLeakOnReBind() { var wrapper = new JsonDataWrapper <Planet>(); binder.Using(wrapper); var memoryBefore = GC.GetTotalMemory(true); for (var i = 0; i < 10000000; ++i) { new SomeBindWorker(binder); } var memoryAfter = GC.GetTotalMemory(true); var diff = memoryAfter / (double)memoryBefore; diff.Should().BeInRange(0, 1.5); }
public void Server_ShouldBeAcceptJsonDataFromClient() { var wrapper = new JsonDataWrapper <Planet>(); server.UsingWrapper(wrapper); client.UsingWrapper(wrapper); var obj = new Planet() { Name = "Earth", Radius = 6378.1, Creatures = 349653671 }; Planet receivedObject = null; server.Bind <Planet>(1, (c, value) => { receivedObject = value; }); client.Send(1, obj); Thread.Sleep(MillisecondsToWaitForTransfer * 10); receivedObject.Should().BeEquivalentTo(obj); }