public void CanCastToNullableLong_WhenNull() { BNumber bnumber = null; var number = (long?)bnumber; number.Should().BeNull(); }
public void CanCastToNullableInt_WhenNotNull() { BNumber bnumber = 12345; var number = (int?)bnumber; number.Should().Be(12345); }
public void CanCastToNullableInt_WhenNull() { BNumber bnumber = null; var number = (int?)bnumber; number.Should().BeNull(); }
public void CanCastToLong() { BNumber bnumber = new BNumber(12345); long number = (long)bnumber; number.Should().Be(12345); }
public void CanCastToInt() { BNumber bnumber = new BNumber(12345); int number = (int)bnumber; number.Should().Be(12345); }
public void CanCastToNullableLong_WhenNotNull() { BNumber bnumber = 12345; var number = (long?)bnumber; number.Should().Be(12345); }
public void CanEncode_Zero() { var bnumber = new BNumber(0); var bencode = bnumber.EncodeAsString(); bencode.Should().Be("i0e"); }
public void CanEncode_Negative(long value) { var bnumber = new BNumber(value); var bencode = bnumber.EncodeAsString(); bencode.Should().Be($"i{value}e"); }
public void CastingToBool_Null_ThrowsInvalidCastException() { BNumber bnumber = null; Action action = () => { var b = (bool)bnumber; }; action.ShouldThrow <InvalidCastException>(); }
public void CanEncode_Int64MaxValue() { var bnumber = new BNumber(9223372036854775807); var bencode = bnumber.EncodeAsString(); bencode.Should().Be("i9223372036854775807e"); }
public void Equals_SameNumbersShouldBeEqual(long num1, long num2) { var bnumber1 = new BNumber(num1); var bnumber2 = new BNumber(num2); bnumber1.Equals(bnumber2).Should().BeTrue(); }
public void Equals_DifferentNumbersShouldNotBeEqual(long num1, long num2) { var bnumber1 = new BNumber(num1); var bnumber2 = new BNumber(num2); bnumber1.Equals(bnumber2).Should().BeFalse(); }
public void CanEncode_Int64MinValue() { var bnumber = new BNumber(-9223372036854775808); var bencode = bnumber.EncodeAsString(); bencode.Should().Be("i-9223372036854775808e"); }
public void CanCastToDateTime() { var bnumber = new BNumber(1451606400); var datetime = (DateTime)bnumber; datetime.Should().Be(new DateTime(2016, 1, 1)); }
public byte[] Serialize() { var dict = new BDictionary { ["msg_type"] = new BNumber((int)RequestType), ["piece"] = new BNumber(PieceIndex) }; if (RequestType == Type.Data) { dict["total_size"] = new BNumber(TotalSize); } using (var ms = new MemoryStream()) { dict.EncodeTo(ms); if (RequestType == Type.Data) { ms.Write(PieceData, 0, PieceData.Length); } return(ms.ToArray()); } }
public void ToString_WithFormat_SameAsLong() { var bnumber = new BNumber(42); var str1 = bnumber.ToString("N2"); var str2 = 42L.ToString("N2"); str1.Should().Be(str2); }
public void CanEncodeAsBytes() { var bnumber = new BNumber(42); var expected = Encoding.ASCII.GetBytes("i42e"); var bytes = bnumber.EncodeAsBytes(); bytes.Should().BeEquivalentTo(expected); }
public void GetHashCode_SameAsInt64HashCode(long number) { var bnumber = new BNumber(number); var hash1 = bnumber.GetHashCode(); var hash2 = number.GetHashCode(); hash1.Should().Be(hash2); }
public async Task WriteToStreamAsync() { var bnumber = new BNumber(1234); var ms = new MemoryStream(); await bnumber.EncodeToAsync(ms); var result = Encoding.UTF8.GetString(ms.ToArray()); result.Should().Be("i1234e"); }
public void CanEnodeToStream() { var bnumber = new BNumber(42); using (var stream = new MemoryStream()) { bnumber.EncodeTo(stream); stream.Length.Should().Be(4); stream.AsString().Should().Be("i42e"); } }
public async Task WriteToPipeWriterAsync() { var bnumber = new BNumber(1234); var(reader, writer) = new Pipe(); await bnumber.EncodeToAsync(writer); reader.TryRead(out var readResult); var result = Encoding.UTF8.GetString(readResult.Buffer.First.Span.ToArray()); result.Should().Be("i1234e"); }
public void GetSizeInBytes() { var bnumber = new BNumber(42); bnumber.GetSizeInBytes().Should().Be(4); }
public BitTorrentStatus() { Downloaded = new BNumber(0); Completed = new BNumber(0); InCompleted = new BNumber(0); }
public void EqualsOperator_Integer_SameNumberShouldBeEqual(long num1, long num2) { var bnumber = new BNumber(num1); (bnumber == num2).Should().BeTrue(); }
public bool SendEventToTracker(NetworkManager networkManager, string eventType, bool stopOnFail) { IsScrapeUpdated = false; string urlEvent = GenerateUrlString(eventType); Uri uriEvent = new Uri(urlEvent); try { Tracker = networkManager.MakeWebRequest(uriEvent, Client.HttpProtocol, Client.Headers); if (Tracker != null && Tracker.Dico != null) { BDictionary dico = Tracker.Dico; BString failure = dico.Get <BString>("failure reason"); if (failure != null) { log.Warn($"Tracker Error: {failure}"); if (stopOnFail) { log.Info("Stopped because of tracker error!!!"); return(false); } } else { foreach (BString key in dico.Keys) { if (key != "peers") { log.Info(key + ": " + dico[key]); } } BNumber interval = dico.Get <BNumber>("interval"); if (interval != null) { } BNumber complete = dico.Get <BNumber>("complete"); BNumber incomplete = dico.Get <BNumber>("incomplete"); Seeders = (int)complete.Value; Leechers = (int)incomplete.Value; } if (dico.ContainsKey("peers")) { HasInitialPeers = true; if (dico["peers"] is BString) { Encoding encoding = Encoding.GetEncoding(0x6faf); byte[] buffer = encoding.GetBytes(dico["peers"].ToString()); using (MemoryStream ms = new MemoryStream(buffer)) using (BinaryReader br = new BinaryReader(ms)) { PeerList list = new PeerList(); for (int num1 = 0; num1 < buffer.Length; num1 += 6) { list.Add(new Peer(br.ReadBytes(4), br.ReadInt16())); } br.Close(); log.Info($"Peers : {list}"); } } else if (dico["peers"] is BList) { BList bList = dico.Get <BList>("peers"); PeerList pList = new PeerList(); foreach (object objList in bList) { if (objList is BDictionary) { BDictionary dictionary = (BDictionary)objList; pList.Add(new Peer(dictionary["ip"].ToString(), dictionary["port"].ToString(), dictionary["peer id"].ToString())); } } log.Info($"Peers : {pList}"); } else { log.Info($"Peers(x) : {dico["peers"]}"); } } } } catch (Exception ex) { log.Error(ex); return(false); } return(true); }
public void Constructor_DateTime_ValueIsUnixFormat() { var bnumber = new BNumber(new DateTime(2016, 1, 1)); bnumber.Value.Should().Be(1451606400); }
public void Constructor_DateTime_NullParameter_ValueIsZero() { var bnumber = new BNumber((DateTime?)null); bnumber.Value.Should().Be(0); }