summaryrefslogtreecommitdiff
path: root/source/test/unittests/bigint.test.c
blob: 87bbc60ac7ad8bf3506521eb9ee92d154994b91c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "../../kit/bigint.h"

#define KIT_TEST_FILE bigint
#include "../../kit_test/test.h"

TEST("bigint hex add") {
  SZ(foo, "4242424242424242424242424242424242424242");
  SZ(bar, "1111111111111111111111111111111111111111");
  SZ(sum, "5353535353535353535353535353535353535353");

  REQUIRE(bi_equal(bi_add(bi_hex(foo), bi_hex(bar)), bi_hex(sum)));
}

TEST("bigint hex sub") {
  SZ(foo, "4242424242424242424242424242424242424242");
  SZ(bar, "1111111111111111111111111111111111111111");
  SZ(dif, "3131313131313131313131313131313131313131");

  REQUIRE(bi_equal(bi_sub(bi_hex(foo), bi_hex(bar)), bi_hex(dif)));
}

TEST("bigint base58") {
  SZ(foo, "31");

  REQUIRE(bi_equal(bi_base58(foo), bi_uword(58 * 2)));
}

TEST("bigint base58 add") {
  SZ(foo, "4242424242424242424242424242424242424242");
  SZ(bar, "2222222222222222222222222222222222222222");
  SZ(sum, "5353535353535353535353535353535353535353");

  REQUIRE(bi_equal(bi_add(bi_base58(foo), bi_base58(bar)),
                   bi_base58(sum)));
}

TEST("bigint base58 sub") {
  SZ(foo, "42");
  SZ(bar, "22");
  SZ(dif, "31");

  REQUIRE(bi_equal(bi_sub(bi_base58(foo), bi_base58(bar)),
                   bi_base58(dif)));
}