From 2d80fc2657c25df70dc43656b7dcd6edf9b2c158 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:27:19 +0300 Subject: [PATCH] final test is concluded, bencode implementation is complete and capable of decoding and encoding torrent files and announces in a way as they come --- .../mykola2312/retracker/bencode/BTreeTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/com/mykola2312/retracker/bencode/BTreeTest.java b/src/test/java/com/mykola2312/retracker/bencode/BTreeTest.java index f63333b..d5677f7 100644 --- a/src/test/java/com/mykola2312/retracker/bencode/BTreeTest.java +++ b/src/test/java/com/mykola2312/retracker/bencode/BTreeTest.java @@ -164,6 +164,10 @@ public class BTreeTest { tree.setRoot(new BString("test")); assertArrayEquals("4:test".getBytes(), tree.encode()); + + tree.setRoot(new BDict()) + .set(new BInteger(1), new BInteger(2)); + assertArrayEquals("di1ei2ee".getBytes(), tree.encode()); }); } @@ -190,4 +194,16 @@ public class BTreeTest { assertEquals(new BInteger(16777216), pieceLength); }); } + + @Test + public void testDecodeEncodeTorrentFile() throws BError, IOException { + final byte[] data = Files.readAllBytes(Path.of("test", "test.torrent")); + + BTree torrent = new BTree(); + assertDoesNotThrow(() -> { + torrent.decode(data); + + assertArrayEquals(data, torrent.encode()); + }); + } }