1import claripy
2import nose
3
4def test_concrete():
5    a = claripy.BVV(10, 32)
6    b = claripy.BoolV(True)
7    #c = claripy.BVS('x', 32)
8
9    nose.tools.assert_is(type(claripy.backends.concrete.convert(a)), claripy.bv.BVV)
10    nose.tools.assert_is(type(claripy.backends.concrete.convert(b)), bool)
11
12    a = claripy.BVV(1337, 32)
13    b = a[31:16]
14    c = claripy.BVV(0, 16)
15    nose.tools.assert_is(b, c)
16
17    bc = claripy.backends.concrete
18    d = claripy.BVV(-1, 32)
19    nose.tools.assert_equal(bc.convert(d), 0xffffffff)
20
21    e = claripy.BVV(2**32+1337, 32)
22    nose.tools.assert_equal(bc.convert(e), 1337)
23
24
25def test_concrete_fp():
26    f = claripy.FPV(1.0, claripy.FSORT_FLOAT)
27    nose.tools.assert_equal(claripy.backends.concrete.eval(f, 2), (1.0,))
28
29if __name__ == '__main__':
30    test_concrete()
31    test_concrete_fp()
32