public void Instantiates_With_The_Given_Data(string username, string transferType, int token) { var r = new PeerInitResponse(username, transferType, token); Assert.Equal(username, r.Username); Assert.Equal(transferType, r.TransferType); Assert.Equal(token, r.Token); }
public void TryParse_Returns_False_On_Code_Mismatch() { var msg = new List <byte>(); msg.AddRange(BitConverter.GetBytes(0)); // overall length, ignored for this test. msg.Add((byte)MessageCode.Initialization.PierceFirewall); var r = PeerInitResponse.TryParse(msg.ToArray(), out var result); Assert.False(r); Assert.Null(result); }
public void TryParse_Returns_False_On_Missing_Data(string username, char type) { var msg = new List <byte>(); msg.AddRange(BitConverter.GetBytes(0)); // overall length, ignored for this test. msg.Add((byte)MessageCode.Initialization.PeerInit); msg.AddRange(BitConverter.GetBytes(3)); // name len msg.AddRange(Encoding.ASCII.GetBytes(username)); // name msg.AddRange(BitConverter.GetBytes(1)); // type len msg.AddRange(Encoding.ASCII.GetBytes(type.ToString(CultureInfo.InvariantCulture))); // type // omit token var r = PeerInitResponse.TryParse(msg.ToArray(), out var result); Assert.False(r); Assert.Null(result); }
public void TryParse_Returns_Expected_Data(string username, char type, int token) { var msg = new List <byte>(); msg.AddRange(BitConverter.GetBytes(0)); // overall length, ignored for this test. msg.Add((byte)MessageCode.Initialization.PeerInit); msg.AddRange(BitConverter.GetBytes(username.Length)); // name len msg.AddRange(Encoding.ASCII.GetBytes(username)); // name msg.AddRange(BitConverter.GetBytes(1)); // type len msg.AddRange(Encoding.ASCII.GetBytes(type.ToString(CultureInfo.InvariantCulture))); // type msg.AddRange(BitConverter.GetBytes(token)); // omit token var r = PeerInitResponse.TryParse(msg.ToArray(), out var result); Assert.True(r); Assert.NotNull(result); Assert.Equal(username, result.Username); Assert.Equal(type.ToString(CultureInfo.InvariantCulture), result.TransferType); Assert.Equal(token, result.Token); }