diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-10-04 15:33:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-10-04 15:33:10 +0900 |
| commit | 46e79e69ae866df88cb9442a7329c72662ed2db3 (patch) | |
| tree | 13561c1e7273ed0311da37957e4a82d15b243ba4 /tests/bitwise_operators.sh | |
| parent | 7e11675136edf8136f812c85cd45bc88ba405533 (diff) | |
| download | ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.tar.gz ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.tar.zst ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.zip | |
refactor: rename test files
Diffstat (limited to 'tests/bitwise_operators.sh')
| -rw-r--r-- | tests/bitwise_operators.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/bitwise_operators.sh b/tests/bitwise_operators.sh new file mode 100644 index 0000000..f683099 --- /dev/null +++ b/tests/bitwise_operators.sh @@ -0,0 +1,40 @@ +test_exit_code 0 <<'EOF' +#include "../../helpers.h" + +int main() { + ASSERT_EQ(123, 0 | 123); + ASSERT_EQ(460, 12 | 456); + + ASSERT_EQ(8, 1 << 3); + ASSERT_EQ(336, 21 << 4); + ASSERT_EQ(13, 111 >> 3); + ASSERT_EQ(0, 15 >> 14); + + int a = 5; + int b = 3; + ASSERT_EQ(1, a & b); + ASSERT_EQ(7, a | b); + ASSERT_EQ(6, a ^ b); + ASSERT_EQ(4, 2 + 3 & 4); + + int c = 1 + 2 & 3; + int d = 4 & 5 ^ 6; + int e = 1 ^ 2 | 3; + int f = 0 | 1 & 2; + ASSERT_EQ(3, c); + ASSERT_EQ(2, d); + ASSERT_EQ(3, e); + ASSERT_EQ(0, f); + + ASSERT_EQ(-1, ~0); + ASSERT_EQ(-2, ~1); + ASSERT_EQ(-6, ~5); + ASSERT_EQ(0, ~(-1)); + ASSERT_EQ(5, ~(-6)); + + int x = 10; + ASSERT_EQ(-11, ~x); + ASSERT_EQ(-1, ~(x & 0)); + ASSERT_EQ(-16, ~(x | 5)); +} +EOF |
