private BDictionary ReadMetaInfo() { var metadata = BDecoder.Decode(Data) as BDictionary; CheckMetadata(metadata); return(metadata); }
public void DecodeString() { string encodedString = "3:moo"; string expectedString = "moo"; Console.WriteLine(encodedString); Console.WriteLine(expectedString); Assert.AreEqual(expectedString, BDecoder.Decode(encodedString).ToString()); }
public void DecodeDictionary() { string bencodedDict = "d1:0i0e1:1i1e1:2i2e1:3i3e1:4i4ee"; string expectedResult = "dictionary: { 0->0, 1->1, 2->2, 3->3, 4->4 }"; var result = BDecoder.Decode(bencodedDict); Console.WriteLine(bencodedDict); Console.WriteLine(result.ToString()); Assert.AreEqual(expectedResult, result.ToString()); }
public async Task Should_Throw_Exception_When_Stream_Is_Null() { // Given var decoder = new BDecoder(); // When var result = await Record.ExceptionAsync(() => decoder.DecodeAsync(null)); // Then Assert.IsType <ArgumentNullException>(result); }
public void DecodeList() { string bencodedList = "li0ei1ei2ei3ei4ee"; string expectedResult = "list: { 0, 1, 2, 3, 4 }"; var result = BDecoder.Decode(bencodedList); Console.WriteLine(bencodedList); Console.WriteLine(result.ToString()); Assert.AreEqual(expectedResult, result.ToString()); }
public async Task Should_Decode_Dictionary(string encoded, int expectedItems) { // Given var decoder = new BDecoder(); // When var result = await decoder.DecodeAsync(encoded); // Then Assert.IsType <BDictionary>(result); Assert.Equal(expectedItems, ((BDictionary)result).Count); }
public async Task Should_Decode_Number(string encoded, long decoded) { // Given var decoder = new BDecoder(); // When var result = await decoder.DecodeAsync(encoded); // Then Assert.IsType <BNumber>(result); Assert.Equal(decoded, ((BNumber)result).Value); }
public async Task Should_Decode_String(string encoded, string decoded) { // Given var decoder = new BDecoder(); // When var result = await decoder.DecodeAsync(encoded); // Then Assert.IsType <BString>(result); Assert.Equal(decoded, ((BString)result).ToString()); }
public void DecodeInteger() { string encodedString = "i3e"; int expectedResult = 3; var parsedInt = Convert.ToInt32( BDecoder.Decode(encodedString).ToString()); Console.WriteLine(encodedString); Console.WriteLine(parsedInt); Assert.AreEqual(expectedResult, parsedInt); }
public async Task Should_Decode_Zero_Length_String() { // Given var decoder = new BDecoder(); // When var result = await decoder.DecodeAsync("0:"); // Then Assert.IsType <BString>(result); Assert.NotNull(((BString)result).Value); Assert.Empty(((BString)result).Value); }