Skip to content

Commit

Permalink
few more cases
Browse files Browse the repository at this point in the history
  • Loading branch information
maciejka committed Apr 23, 2024
1 parent cd134f1 commit 0d0922c
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions fuzz/felt/fuzz_targets/add.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
use libfuzzer_sys::fuzz_target;
use starknet_types_core::felt::Felt;

fuzz_target!(|data: (Felt, Felt)| {
fuzz_target!(|data: (Felt, Felt, Felt)| {
let zero = Felt::ZERO;
let (a, b) = data;
let (a, b, c) = data;

// Check a + 0 = a
assert_eq!(a + zero, a, "Zero addition failed");
assert_eq!(b + zero, b, "Zero addition failed");
assert_eq!(a + zero, a, "zero addition failed");
assert_eq!(b + zero, b, "zero addition failed");

// Check a + (-a) = 0
assert_eq!(a + (-a), zero, "Unary addition failed");
assert_eq!(b + (-b), zero, "Unary addition failed");
assert_eq!(a + (-a), zero, "unary addition failed");
assert_eq!(b + (-b), zero, "unary addition failed");

// Check a + b = a - (-b)
assert_eq!(a + b, a - (-b), "addition failed");
Expand All @@ -21,5 +22,14 @@ fuzz_target!(|data: (Felt, Felt)| {
assert_eq!(b + b, b - (-b), "addition failed");

// Check a + a = 2 * a
assert_eq!(a + a, Felt::TWO * a, "Doubling failed");
assert_eq!(a + a, Felt::TWO * a, "doubling failed");

// Check a + b = b + a
assert_eq!(a + b, b + a, "commutativity failed");

// Check (a + b) + c = a + (b + c)
assert_eq!((a + b) + c, a + (b + c), "associativity failed");

// Check a + max = a - 1
assert_eq!(a + Felt::MAX, a - Felt::ONE, "overflow failed");
});

0 comments on commit 0d0922c

Please sign in to comment.