Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Jevin Olano
- // jolano
- // CSE 101
- // November 9, 2019
- // BigIntegerTest.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <assert.h>
- #include "BigInteger.h"
- int errorCount = 0;
- // checks the expected value vs. the actual value outputted
- void assertEquals(char *expected, BigInteger actual) {
- BigInteger expectedBI = stringToBigInteger(expected);
- if (!equals(expectedBI, actual)) {
- printf("Expected is ");
- printBigInteger(stdout, expectedBI);
- printf("Actual is ");
- printBigInteger(stdout, actual);
- errorCount++;
- }
- }
- int main (int argc, char* argv[]) {
- BigInteger A = stringToBigInteger("50");
- BigInteger B = stringToBigInteger("42");
- BigInteger C = stringToBigInteger("-1");
- BigInteger D = stringToBigInteger("0");
- BigInteger E = stringToBigInteger("-79");
- BigInteger F = stringToBigInteger("-1");
- BigInteger G = stringToBigInteger("29");
- BigInteger H = stringToBigInteger("-2");
- assertEquals("50", A);
- assertEquals("42", B);
- assertEquals("-1", C);
- assertEquals("0", D);
- assertEquals("-79", E);
- assertEquals("-1", F);
- assertEquals("29", G);
- assertEquals("-2", H);
- assertEquals("92", sum(A, B));
- assertEquals("8", diff(A, B));
- assertEquals("2100", prod(A, B));
- add(A, A, A);
- assertEquals("100", A);
- subtract(A, A, A);
- assertEquals("0", A);
- multiply(A, B, B);
- assertEquals("1764", A);
- multiply(A, A, C);
- assertEquals("-1764", A);
- multiply(A, A, C);
- assertEquals("1764", A);
- subtract(D, B, C);
- assertEquals("43", D);
- add(E, E, F);
- assertEquals("-80", E);
- subtract(B, C, B);
- assertEquals("-43", B);
- add(A, A, C);
- assertEquals("1763", A);
- subtract(F, F, G);
- assertEquals("-30", F);
- add(A, A, G);
- assertEquals("1792", A);
- multiply(A, A, H);
- assertEquals("-3584", A);
- multiply(A, A, A);
- assertEquals("12845056", A);
- multiply(A, A, H);
- assertEquals("-25690112", A);
- multiply(A, A, A);
- assertEquals("659981854572544", A);
- BigInteger test = stringToBigInteger("5");
- BigInteger nein = stringToBigInteger("999999999");
- BigInteger nine = stringToBigInteger("9");
- BigInteger test2 = stringToBigInteger("999");
- multiply(test, test, test);
- assertEquals("25", test);
- multiply(test, test, test);
- assertEquals("625", test);
- multiply(test, test, test);
- assertEquals("390625", test);
- multiply(test, test, test);
- assertEquals("152587890625", test);
- // outputs 152150911745985
- // 999999999 * 9 = 8999999991
- multiply(nine, nein, nine);
- assertEquals("8999999991", test);
- multiply(test2, test2, test2);
- assertEquals("998001", test2);
- printf("%d errors!\n", errorCount);
- }
Advertisement
Add Comment
Please, Sign In to add comment