aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/strconv/number_to_base_test.v
blob: b313b0fffed46e15080d426ee8085bbc888ef022 (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
import strconv

fn test_format_int() {
	assert strconv.format_int(0, 2) == '0'
	assert strconv.format_int(0, 10) == '0'
	assert strconv.format_int(0, 16) == '0'
	assert strconv.format_int(0, 36) == '0'
	assert strconv.format_int(1, 2) == '1'
	assert strconv.format_int(1, 10) == '1'
	assert strconv.format_int(1, 16) == '1'
	assert strconv.format_int(1, 36) == '1'
	assert strconv.format_int(-1, 2) == '-1'
	assert strconv.format_int(-1, 10) == '-1'
	assert strconv.format_int(-1, 16) == '-1'
	assert strconv.format_int(-1, 36) == '-1'
	assert strconv.format_int(255, 2) == '11111111'
	assert strconv.format_int(255, 8) == '377'
	assert strconv.format_int(255, 10) == '255'
	assert strconv.format_int(255, 16) == 'ff'
	assert strconv.format_int(-255, 2) == '-11111111'
	assert strconv.format_int(-255, 8) == '-377'
	assert strconv.format_int(-255, 10) == '-255'
	assert strconv.format_int(-255, 16) == '-ff'
	for i in -256 .. 256 {
		assert strconv.format_int(i, 10) == i.str()
	}
}

fn test_format_uint() {
	assert strconv.format_uint(0, 2) == '0'
	assert strconv.format_int(255, 2) == '11111111'
	assert strconv.format_int(255, 8) == '377'
	assert strconv.format_int(255, 10) == '255'
	assert strconv.format_int(255, 16) == 'ff'
	assert strconv.format_uint(18446744073709551615, 2) == '1111111111111111111111111111111111111111111111111111111111111111'
	assert strconv.format_uint(18446744073709551615, 16) == 'ffffffffffffffff'
	assert strconv.format_uint(683058467, 36) == 'baobab'
}