100% coverage

This commit is contained in:
Yaossg 2024-12-24 15:00:51 +08:00
parent 49ed7c5df5
commit 92f4b4f561
52 changed files with 143 additions and 48 deletions

28
test/operator/assign.c Normal file
View file

@ -0,0 +1,28 @@
int printf(char* format, ...);
int main() {
int a = 5;
int b = 4;
a += b;
printf("%d\n", a);
a -= b;
printf("%d\n", a);
a *= b;
printf("%d\n", a);
a /= b;
printf("%d\n", a);
a %= b;
printf("%d\n", a);
a &= b;
printf("%d\n", a);
a |= b;
printf("%d\n", a);
a ^= b;
printf("%d\n", a);
a = b;
printf("%d\n", a);
a <<= b;
printf("%d\n", a);
a >>= b;
printf("%d\n", a);
}

12
test/operator/assign.out Normal file
View file

@ -0,0 +1,12 @@
9
5
20
5
1
0
4
0
4
64
4
0

16
test/operator/binary.c Normal file
View file

@ -0,0 +1,16 @@
int printf(char* format, ...);
int main() {
int a = 5;
int b = 4;
printf("%d+%d=%d\n", a, b, a + b);
printf("%d-%d=%d\n", a, b, a - b);
printf("%d*%d=%d\n", a, b, a * b);
printf("%d/%d=%d\n", a, b, a / b);
printf("%d%%%d=%d\n", a, b, a % b);
printf("%d&%d=%d\n", a, b, a & b);
printf("%d|%d=%d\n", a, b, a | b);
printf("%d^%d=%d\n", a, b, a ^ b);
printf("%d<<%d=%d\n", a, b, a << b);
printf("%d>>%d=%d\n", a, b, a >> b);
}

11
test/operator/binary.out Normal file
View file

@ -0,0 +1,11 @@
5+4=9
5-4=1
5*4=20
5/4=1
5%4=1
5&4=4
5|4=5
5^4=1
5<<4=80
5>>4=0
0

14
test/operator/inc.c Normal file
View file

@ -0,0 +1,14 @@
int printf(char* format, ...);
int main() {
int a = 4;
printf("a = %d\n", a);
printf("a++ = %d\n", a++);
printf("a = %d\n", a);
printf("++a = %d\n", ++a);
printf("a = %d\n", a);
printf("a-- = %d\n", a--);
printf("a = %d\n", a);
printf("--a = %d\n", --a);
printf("a = %d\n", a);
}

10
test/operator/inc.out Normal file
View file

@ -0,0 +1,10 @@
a = 4
a++ = 4
a = 5
++a = 6
a = 6
a-- = 6
a = 5
--a = 4
a = 4
0

17
test/operator/short.c Normal file
View file

@ -0,0 +1,17 @@
int printf(char* format, ...);
int f(int i) {
printf("f(%d)\n", i);
return i % 2;
}
int main() {
1 && f(1);
0 && f(2);
1 || f(3);
0 || f(4);
1 ? f(5) : f(6);
0 ? f(7) : f(8);
1 && f(9) || f(10);
0 && f(11) || f(12);
}

0
test/operator/short.in Normal file
View file

7
test/operator/short.out Normal file
View file

@ -0,0 +1,7 @@
f(1)
f(4)
f(5)
f(8)
f(9)
f(12)
0