public void ShouldThrowIfCakeScriptIsNull() { // Given, When var exception = Record.Exception(() => CakeScriptSerializer.Serialize(_fixture.Writer, null)) as ArgumentNullException; // Then Assert.NotNull(exception); Assert.Equal("script", exception.ParamName); }
public void ShouldThrowIfWriterIsNull() { // Given, When var exception = Record.Exception(() => CakeScriptSerializer.Serialize(null, CakeScript.Empty)) as ArgumentNullException; // Then Assert.NotNull(exception); Assert.Equal("writer", exception.ParamName); }
public void ShouldSerializeAndSerializeUtf8TestData(string resource) { // Given var expected = _fixture.CreateCakeScriptFromResource(resource, 0, 0); // When CakeScriptSerializer.Serialize(_fixture.Writer, expected); _fixture.ResetStreamPosition(); var actual = CakeScriptSerializer.Deserialize(_fixture.Reader); // Then Assert.NotNull(actual); Assert.Equal(expected.Source, actual.Source); Assert.Equal(expected.References, actual.References); Assert.Equal(expected.Usings, actual.Usings); }
public void ShouldSerializeAndSerializeEmpty() { // Given var expected = CakeScript.Empty; // When CakeScriptSerializer.Serialize(_fixture.Writer, expected, Constants.Protocol.Latest); _fixture.ResetStreamPosition(); var actual = CakeScriptSerializer.Deserialize(_fixture.Reader); // Then Assert.NotNull(actual); Assert.Equal(expected.Source, actual.Source); Assert.Equal(expected.References, actual.References); Assert.Equal(expected.Usings, actual.Usings); }
private async Task RunAsync(CancellationToken cancellationToken) { using (var client = new TcpClient()) { _logger.LogDebug("Connecting to tcp server on port {port}", _port); await client.ConnectAsync(IPAddress.Loopback, _port); _logger.LogDebug("Connected"); using (var stream = client.GetStream()) using (var reader = new BinaryReader(stream)) using (var writer = new BinaryWriter(stream)) { while (!cancellationToken.IsCancellationRequested) { while (!stream.DataAvailable) { if (!client.Client.IsConnected()) { OnDisconnected?.Invoke(this, EventArgs.Empty); return; } await Task.Delay(10, cancellationToken); } // Request _logger.LogDebug("Received reqeust from client"); var fileChange = FileChangeSerializer.Deserialize(reader); var cakeScript = CakeScript.Empty; try { cakeScript = _service.Generate(fileChange); } catch (Exception e) { _logger.LogError(0, e, "Unhandled Exception while processing request."); } // Response _logger.LogDebug("Sending response to client"); CakeScriptSerializer.Serialize(writer, cakeScript); writer.Flush(); } } } }