107 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			V
		
	
	
const (
 | 
						|
	a = 3
 | 
						|
	u = u64(1)
 | 
						|
)
 | 
						|
 | 
						|
fn test_const() {
 | 
						|
	b := (true && true) || false
 | 
						|
	assert b == true
 | 
						|
	assert a == 3
 | 
						|
	assert u == u64(1)
 | 
						|
	assert u == 1 // make sure this works without the cast
 | 
						|
}
 | 
						|
 | 
						|
fn test_float_equal_operator() {
 | 
						|
	mut a := f32(1)
 | 
						|
	a += 0.000001
 | 
						|
	a -= 0.000001
 | 
						|
	assert a == 1
 | 
						|
	assert !a.eqbit(1)
 | 
						|
	assert !(a != 1)
 | 
						|
	assert a.nebit(1)
 | 
						|
	a += 0.000001
 | 
						|
	assert !(a < 1)
 | 
						|
	assert !a.ltbit(1)
 | 
						|
	assert !(a <= 1)
 | 
						|
	assert !a.lebit(1)
 | 
						|
	assert a > 1
 | 
						|
	assert a.gtbit(1)
 | 
						|
	assert a >= 1
 | 
						|
	assert a.gebit(1)
 | 
						|
 | 
						|
	a = f64(1)
 | 
						|
	a += 0.000001
 | 
						|
	a -= 0.000001
 | 
						|
	assert a == 1
 | 
						|
	assert !a.eqbit(1)
 | 
						|
	assert !(a != 1)
 | 
						|
	a += 0.000001
 | 
						|
	assert !(a < 1)
 | 
						|
	assert !a.ltbit(1)
 | 
						|
	assert !(a <= 1)
 | 
						|
	assert !a.lebit(1)
 | 
						|
	assert a > 1
 | 
						|
	assert a.gtbit(1)
 | 
						|
	assert a >= 1
 | 
						|
	assert a.gebit(1)
 | 
						|
}
 | 
						|
 | 
						|
fn test_str_methods() {
 | 
						|
	assert i8(1).str() == '1'
 | 
						|
	assert i8(-1).str() == '-1'
 | 
						|
	assert i16(1).str() == '1'
 | 
						|
	assert i16(-1).str() == '-1'
 | 
						|
	assert int(1).str() == '1'
 | 
						|
	assert int(-1).str() == '-1'
 | 
						|
	assert i64(1).str() == '1'
 | 
						|
	assert i64(-1).str() == '-1'
 | 
						|
 | 
						|
	// assert byte(1).str() == '1'
 | 
						|
	// assert byte(-1).str() == '255'
 | 
						|
	assert u16(1).str() == '1'
 | 
						|
	assert u16(-1).str() == '65535'
 | 
						|
	assert u32(1).str() == '1'
 | 
						|
	assert u32(-1).str() == '4294967295'
 | 
						|
	assert u64(1).str() == '1'
 | 
						|
	assert u64(-1).str() == '18446744073709551615'
 | 
						|
}
 | 
						|
 | 
						|
fn test_and() {
 | 
						|
	c:=[1,2,3,4,5]
 | 
						|
	assert c[0] & 1 != 0
 | 
						|
	assert c[1] & 1 == 0
 | 
						|
	assert c[2] & 1 != 0
 | 
						|
	assert c[3] & 1 == 0
 | 
						|
	assert c[4] & 1 != 0
 | 
						|
}
 | 
						|
 | 
						|
fn test_i8_print() {
 | 
						|
	b := i8(0)
 | 
						|
	println(b)
 | 
						|
	c := i16(7)
 | 
						|
	println(c)
 | 
						|
	d := u16(6)
 | 
						|
	println(d)
 | 
						|
	assert true
 | 
						|
}
 | 
						|
 | 
						|
/*
 | 
						|
fn test_cmp() {
 | 
						|
	assert 1 ≠ 2
 | 
						|
	assert 1 ⩽ 2
 | 
						|
	assert 1 ⩾ 0
 | 
						|
}
 | 
						|
*/
 | 
						|
 | 
						|
type myint int
 | 
						|
type mystring string
 | 
						|
 | 
						|
fn test_int_alias() {
 | 
						|
	/*
 | 
						|
	i := myint(2)
 | 
						|
	s := mystring('hi')
 | 
						|
	ss := s + '!'
 | 
						|
	assert i + 10 == 12
 | 
						|
	*/
 | 
						|
}
 |