def test_read_given_two_different_objects(): """ Test if given given an empty document, read returns None. """ cursor = XmlReader(make_buffer('<root/>')) cursor.read() object = Reader.read(cursor) assert_is_none(object)
def test_read_leaves_position(): """ Test if read method leaves it positioned in the next element. """ cursor = XmlReader(make_buffer('<root><vm/><next/></root>')) cursor.read() Reader.read(cursor) assert_equals(cursor.node_name(), 'next') cursor.close()
def test_read_unknonw_tag(): """ Test that when an unknonw tag is received an exception with a message is generated. """ cursor = XmlReader(make_buffer('<html>blah<html>')) cursor.read() with assert_raises(Error) as context: Reader.read(cursor) assert_equals(str(context.exception), "Can't find a reader for tag 'html'")
def test_read_given_two_different_objects(): """ Test if given two different consecutive objects, they can be read with two calls. """ cursor = XmlReader(make_buffer('<root><vm/><disk/></root>')) cursor.read() vm = Reader.read(cursor) disk = Reader.read(cursor) assert_true(isinstance(vm, types.Vm)) assert_true(isinstance(disk, types.Disk))