Skip to content

Commit 755a71a

Browse files
committed
removed i24
1 parent 8034cf3 commit 755a71a

3 files changed

Lines changed: 77 additions & 34 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "binary-utils"
33
authors = ["ismaileke"]
4-
description = "A binary system to be used for RakNet protocol"
4+
description = "A binary system to be used for Bedrock & RakNet protocol"
55
license = "MIT"
66
version = "0.1.0"
77
edition = "2021"

src/lib.rs

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -173,34 +173,6 @@ pub mod binary {
173173

174174
// ===== 24-bit (triad) integers =====
175175

176-
/// Reads a 24-bit signed integer (big-endian).
177-
#[inline]
178-
pub fn get_i24_be(&mut self) -> i32 {
179-
let bytes = self.get(3);
180-
i32::from_be_bytes([0, bytes[0], bytes[1], bytes[2]])
181-
}
182-
183-
/// Writes a 24-bit signed integer (big-endian).
184-
#[inline]
185-
pub fn put_i24_be(&mut self, value: i32) {
186-
let bytes = value.to_be_bytes();
187-
self.buffer.extend_from_slice(&bytes[1..4]);
188-
}
189-
190-
/// Reads a 24-bit signed integer (little-endian).
191-
#[inline]
192-
pub fn get_i24_le(&mut self) -> i32 {
193-
let bytes = self.get(3);
194-
i32::from_le_bytes([bytes[0], bytes[1], bytes[2], 0])
195-
}
196-
197-
/// Writes a 24-bit signed integer (little-endian).
198-
#[inline]
199-
pub fn put_i24_le(&mut self, value: i32) {
200-
let bytes = value.to_le_bytes();
201-
self.buffer.extend_from_slice(&bytes[0..3]);
202-
}
203-
204176
/// Reads a 24-bit unsigned integer (big-endian).
205177
#[inline]
206178
pub fn get_u24_be(&mut self) -> u32 {

tests/lib.rs

Lines changed: 76 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,85 @@ mod tests {
55

66
use binary_utils::binary::Stream;
77

8+
// ===== 24-bit Integer Tests =====
9+
10+
#[test]
11+
fn test_u24_be() {
12+
let mut stream = Stream::with_capacity(10);
13+
stream.put_u24_be(0xFFFFFF);
14+
stream.rewind();
15+
assert_eq!(stream.get_u24_be(), 0xFFFFFF);
16+
}
17+
18+
#[test]
19+
fn test_u24_le() {
20+
let mut stream = Stream::with_capacity(10);
21+
stream.put_u24_le(0xFFFFFF);
22+
stream.rewind();
23+
assert_eq!(stream.get_u24_le(), 0xFFFFFF);
24+
}
25+
26+
// ===== VarInt Tests =====
27+
28+
#[test]
29+
fn test_var_u32_small() {
30+
let mut stream = Stream::with_capacity(10);
31+
stream.put_var_u32(0);
32+
stream.rewind();
33+
assert_eq!(stream.get_var_u32(), 0);
34+
}
35+
36+
#[test]
37+
fn test_var_u32_large() {
38+
let mut stream = Stream::with_capacity(10);
39+
stream.put_var_u32(0xFFFFFFFF);
40+
stream.rewind();
41+
assert_eq!(stream.get_var_u32(), 0xFFFFFFFF);
42+
}
43+
44+
#[test]
45+
fn test_var_i32_positive() {
46+
let mut stream = Stream::with_capacity(10);
47+
stream.put_var_i32(100);
48+
stream.rewind();
49+
assert_eq!(stream.get_var_i32(), 100);
50+
}
51+
852
#[test]
9-
fn test() {
10-
println!("{:?}", "167".to_string().into_bytes());
53+
fn test_var_i32_negative() {
54+
let mut stream = Stream::with_capacity(10);
55+
stream.put_var_i32(-100);
56+
stream.rewind();
57+
let result = stream.get_var_i32();
58+
println!("var_i32(-100) = {}", result);
59+
assert_eq!(result, -100);
60+
}
1161

12-
let mut stream = Stream::new(vec![19, 54, 55], 0);
62+
// ===== VarLong Tests =====
1363

14-
let result = stream.get_i24_le();
15-
println!("result: {}", result);
64+
#[test]
65+
fn test_var_u64_large() {
66+
let mut stream = Stream::with_capacity(20);
67+
stream.put_var_u64(0xFFFFFFFFFFFFFFFF);
68+
stream.rewind();
69+
assert_eq!(stream.get_var_u64(), 0xFFFFFFFFFFFFFFFF);
70+
}
71+
72+
#[test]
73+
fn test_var_i64_negative() {
74+
let mut stream = Stream::with_capacity(20);
75+
stream.put_var_i64(-1);
76+
stream.rewind();
77+
let result = stream.get_var_i64();
78+
println!("var_i64(-1) = {}", result);
79+
assert_eq!(result, -1);
80+
}
1681

82+
#[test]
83+
fn test_var_i64_positive() {
84+
let mut stream = Stream::with_capacity(20);
85+
stream.put_var_i64(1000);
86+
stream.rewind();
87+
assert_eq!(stream.get_var_i64(), 1000);
1788
}
1889
}

0 commit comments

Comments
 (0)