예제 #1
0
def test_get_value_invalid_offset():
    ifd = Ifd("<", blob=ifd_bytes)
    assert len(ifd.entries) == 2
    assert ifd.get_value(ifd.entries['data_offset']) == \
        ifd.entries['data_offset'].raw_value
    assert ifd.get_value(ifd.entries['data_length']) == \
        ifd.entries['data_length'].raw_value
예제 #2
0
def test_ifd_get_byte_array_value():
    ifd = Ifd("<", blob=ifd_bytes_byte_array)
    val = ifd.get_value(ifd.entries['make'])
    assert isinstance(val, bytes)
    assert val == b'Canon\x00'
예제 #3
0
def test_ifd_get_string_value():
    ifd = Ifd("<", blob=ifd_bytes_string_value)
    val = ifd.get_value(ifd.entries['make'])
    assert isinstance(val, (type(u""), str))
    assert val == 'Canon'
예제 #4
0
def test_ifd_get_float():
    ifd = Ifd("<", blob=ifd_bytes_float)
    val = ifd.get_value(ifd.entries['make'])
    assert round(val - 1.62, 2) == 0
예제 #5
0
def test_ifd_invalid_pointer():
    ifd = Ifd("<", blob=ifd_bytes_invalid_pointer)
    val = ifd.get_value(ifd.entries['make'])
    assert val == 303174162
예제 #6
0
def test_ifd_get_byte_array_value():
    ifd = Ifd("<", blob=ifd_bytes_byte_array)
    val = ifd.get_value(ifd.entries["make"])
    assert isinstance(val, bytes)
    assert val == b"Canon\x00"
예제 #7
0
def test_ifd_get_double():
    ifd = Ifd("<", blob=ifd_bytes_double)
    val = ifd.get_value(ifd.entries['make'])
    assert round(val - 3.14, 2) == 0
예제 #8
0
def test_ifd_get_string_value():
    ifd = Ifd("<", blob=ifd_bytes_string_value)
    val = ifd.get_value(ifd.entries["make"])
    assert isinstance(val, (type(u""), str))
    assert val == "Canon"
예제 #9
0
def test_get_value_invalid_offset():
    ifd = Ifd("<", blob=ifd_bytes)
    assert len(ifd.entries) == 2
    assert ifd.get_value(ifd.entries["data_offset"]) == ifd.entries["data_offset"].raw_value
    assert ifd.get_value(ifd.entries["data_length"]) == ifd.entries["data_length"].raw_value
예제 #10
0
def test_ifd_invalid_pointer():
    ifd = Ifd("<", blob=ifd_bytes_invalid_pointer)
    val = ifd.get_value(ifd.entries["make"])
    assert val == 303174162
예제 #11
0
def test_ifd_get_float():
    ifd = Ifd("<", blob=ifd_bytes_float)
    val = ifd.get_value(ifd.entries["make"])
    assert round(val - 1.62, 2) == 0
예제 #12
0
def test_ifd_get_double():
    ifd = Ifd("<", blob=ifd_bytes_double)
    val = ifd.get_value(ifd.entries["make"])
    assert round(val - 3.14, 2) == 0