static void Main(string[] args) { var layer1 = new TestLayer(1); var layer2 = new TestLayer(2); var layerStackProvider = new LayerStackProvider <PingLayerData>(layer1, layer2); SetupAsync(layerStackProvider).GetAwaiter().GetResult(); Console.Out.WriteLine("Server ready"); Console.Out.Flush(); Thread.Sleep(3000); if ((NumRequests != NumRequestsExpected) || (NumEvents != NumEventsExpected) || (NumErrors != NumErrorsExpected)) { Console.Out.WriteLine("Server failed: Did not receive all expected messages"); Console.Out.Flush(); return; } if ((layer1.NumReached == 0) || (layer1.NumError != 0) || (layer2.NumReached == 0) || (layer2.NumError != 0)) { Console.Out.WriteLine("Server failed: Problem with layers"); Console.Out.Flush(); return; } Console.Out.WriteLine("Server completed"); Console.Out.Flush(); }
public void RemoveLayer_RemovesLayerFromList() { var layer = new TestLayer(); _target.PushLayer(layer); _target.RemoveLayer(layer); _target.Update(0); Assert.IsFalse(layer.UpdateCalled); }
public void PushLayer_AddsNewLayerToList() { var layer = new TestLayer(); _target.PushLayer(layer); _target.Update(0); Assert.IsTrue(layer.UpdateCalled); Assert.IsTrue(layer.RenderCalled); }
public void RemoveLayerT_RemovesFirstLayerOfType() { var layer = new TestLayer(); _target.PushLayer(layer); _target.RemoveLayer <TestLayer>(); _target.Update(0); Assert.IsFalse(layer.UpdateCalled); }
public void PushLayerT_AddsNewLayerOfTypeToList() { var layer = new TestLayer(); _mockFactory.Setup(_ => _.Create <TestLayer>()).Returns(layer); _target.PushLayer <TestLayer>(); _target.Update(0); Assert.IsTrue(layer.UpdateCalled); Assert.IsTrue(layer.RenderCalled); }
public void Update_OnlyUpdatesUnPausedLayers() { var layer = new TestLayer { Paused = true }; _target.PushLayer(layer); _target.Update(0); Assert.IsFalse(layer.UpdateCalled); Assert.IsTrue(layer.RenderCalled); }
public void SetLayerOrder_OrdersAndCreatesLayers() { var layer1 = new TestLayer(); var layer2 = new TestLayer2(); _mockFactory.Setup(_ => _.Create <ILayer>(typeof(TestLayer))).Returns(layer1); _mockFactory.Setup(_ => _.Create <ILayer>(typeof(TestLayer2))).Returns(layer2); _target.SetLayerOrder(typeof(TestLayer), typeof(TestLayer2)); // Assign new layers _target.Update(0); // Run update on new layers _target.Update(0); Assert.IsTrue(layer1.UpdateCalled); Assert.IsTrue(layer1.RenderCalled); Assert.IsTrue(layer2.UpdateCalled); Assert.IsTrue(layer2.RenderCalled); }
static void Main(string[] args) { var layer1 = new TestLayer(1); var layer2 = new TestLayer(2); var layerStackProvider = new LayerStackProvider <PingLayerData>(layer1, layer2); SetupAsync(layerStackProvider).GetAwaiter().GetResult(); Console.Out.WriteLine("Server ready"); Console.Out.Flush(); bool countdownSet = Countdown.Wait(30000); if (!countdownSet || (NumRequestsReceived != (int)PingConstants.NumRequests) || (NumEventsReceived != (int)PingConstants.NumEvents) || (NumErrorsReceived != (int)PingConstants.NumErrors)) { Console.Out.WriteLine("Server failed: Did not receive all expected messages"); Console.Out.Flush(); return; } if ((layer1.NumReached == 0) || (layer1.NumError != 0) || (layer2.NumReached == 0) || (layer2.NumError != 0)) { Console.Out.WriteLine("Server failed: Problem with layers"); Console.Out.Flush(); return; } Console.Out.WriteLine("Server completed"); Console.Out.Flush(); }
static void Main(string[] args) { Thread.Sleep(1000); Console.Out.WriteLine("Start client"); Console.Out.Flush(); var layer1 = new TestLayer(1); var layer2 = new TestLayer(2); var layerStackProvider = new LayerStackProvider <PingLayerData>(layer1, layer2); try { var proxy = SetupProxyAsync(layerStackProvider).GetAwaiter().GetResult(); for (int i = 0; i < (int)PingConstants.NumRequests; i++) { var request = new PingRequest { Payload = "request" + i, Action = PingAction.Identity }; var message = DoPingPongAsync(proxy, request).GetAwaiter().GetResult(); if (message.IsError) { Console.Out.WriteLine("Error response received: " + message.Error.Deserialize().message); Console.Out.WriteLine("Client failed"); Console.Out.Flush(); return; } else { string msg = message.Payload.Deserialize().Payload; if (msg != request.Payload) { Console.Out.WriteLine($"Response message did not match request payload: expected \"{request.Payload}\", got \"{msg}\""); Console.Out.WriteLine("Client failed"); Console.Out.Flush(); return; } } } for (int i = 0; i < (int)PingConstants.NumEvents; i++) { var request = new PingRequest { Payload = "event" + i }; DoPingEvent(proxy, request); } for (int i = 0; i < (int)PingConstants.NumErrors; i++) { var request = new PingRequest { Payload = "error" + i, Action = PingAction.Error }; var message = DoPingPongAsync(proxy, request).GetAwaiter().GetResult(); if (!message.IsError) { Console.Out.WriteLine("Non-error response received: " + message.Payload.Deserialize().Payload); Console.Out.WriteLine("Client failed"); Console.Out.Flush(); return; } else { string msg = message.Error.Deserialize().message; if (msg != request.Payload) { Console.Out.WriteLine($"Error message did not match request payload: expected \"{request.Payload}\", got \"{msg}\""); Console.Out.WriteLine("Client failed"); Console.Out.Flush(); return; } } } } catch (Exception ex) { Console.Out.WriteLine("Exception caught: " + ex.Message); Console.Out.Flush(); return; } if ((layer1.NumReached == 0) || (layer1.NumError != 0) || (layer2.NumReached == 0) || (layer2.NumError != 0)) { Console.Out.WriteLine("Client failed: Problem with layers"); Console.Out.Flush(); return; } Console.Out.WriteLine("Client succeeded"); Console.Out.Flush(); }