def test_size_mixed_object(): obj = ScriptDataObject() # Preserves insertion order obj["number"] = 123 obj["string"] = "foobar" obj["bool"] = True assert ScriptDataObject.size(obj) == MIXED_VALUES_SIZE
def test_read_mixed_object(fd): obj = ScriptDataObject() # Preserves insertion order obj["number"] = 123 obj["string"] = "foobar" obj["bool"] = True assert ScriptDataObject.read(fd) == obj assert fd.tell() == MIXED_VALUES_SIZE
def test_size_mixed_object(): obj = ScriptDataObject() # Preserves insertion order obj["number"] = 123 obj["string"] = "foobar" obj["bool"] = True assert ScriptDataObject.size(obj) == MIXED_VALUES_SIZE
def test_pack(): assert ScriptDataValue(True) == BOOL assert ScriptDataValue(None) == NULL assert ScriptDataValue(150.5) == NUMBER assert ScriptDataValue([]) == STRICT_ARRAY assert ScriptDataValue(ScriptDataECMAArray()) == ECMA_ARRAY assert ScriptDataValue(ScriptDataObject()) == OBJECT assert ScriptDataValue("ABC") == STRING assert ScriptDataValue(create_date()) == DATE assert ScriptDataValue(create_reference()) == REFERENCE
def test_unpack(): assert ScriptDataValue.unpack(BOOL)[0] == True assert ScriptDataValue.unpack(NULL)[0] == None assert ScriptDataValue.unpack(NUMBER)[0] == 150.5 assert ScriptDataValue.unpack(STRICT_ARRAY)[0] == [] assert ScriptDataValue.unpack(ECMA_ARRAY)[0] == ScriptDataECMAArray() assert ScriptDataValue.unpack(OBJECT)[0] == ScriptDataObject() assert ScriptDataValue.unpack(STRING)[0] == "ABC" assert ScriptDataValue.unpack(DATE)[0] == create_date() assert ScriptDataValue.unpack(REFERENCE)[0] == create_reference()
def test_size(): assert ScriptDataValue.size(True) == BOOL_SIZE assert ScriptDataValue.size(None) == NULL_SIZE assert ScriptDataValue.size(150.5) == NUMBER_SIZE assert ScriptDataValue.size([]) == STRICT_ARRAY_SIZE assert ScriptDataValue.size(ScriptDataECMAArray()) == ECMA_ARRAY_SIZE assert ScriptDataValue.size(ScriptDataObject()) == OBJECT_SIZE assert ScriptDataValue.size("ABC") == STRING_SIZE assert ScriptDataValue.size(create_date()) == DATE_SIZE assert ScriptDataValue.size(create_reference()) == REFERENCE_SIZE
def test_read_mixed_object(fd): obj = ScriptDataObject() # Preserves insertion order obj["number"] = 123 obj["string"] = "foobar" obj["bool"] = True assert ScriptDataObject.read(fd) == obj assert fd.tell() == MIXED_VALUES_SIZE
def test_pack_strings_object(): assert ScriptDataObject.pack(ScriptDataObject(foo="bar")) == STRING_VALUE
def test_pack_numbers_object(): assert ScriptDataObject.pack(ScriptDataObject(foo=123)) == NUMBER_VALUE
def test_pack_empty_object(): assert ScriptDataObject.pack(ScriptDataObject()) == EMPTY_OBJECT
def test_size_strings_object(): assert ScriptDataObject.size(ScriptDataObject(foo="bar")) == STRING_VALUE_SIZE
def test_read_empty_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject() assert fd.tell() == EMPTY_OBJECT_SIZE
def test_size_booleans_object(): assert ScriptDataObject.size( ScriptDataObject(foo=True)) == BOOLEAN_VALUE_SIZE
def test_size_numbers_object(): assert ScriptDataObject.size( ScriptDataObject(foo=123)) == NUMBER_VALUE_SIZE
def test_read_booleans_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo=True) assert fd.tell() == BOOLEAN_VALUE_SIZE
def test_read_strings_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo="bar") assert fd.tell() == STRING_VALUE_SIZE
def test_read_numbers_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo=123) assert fd.tell() == NUMBER_VALUE_SIZE
def test_read_empty_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject() assert fd.tell() == EMPTY_OBJECT_SIZE
def test_size_empty_object(): assert ScriptDataObject.size(ScriptDataObject()) == EMPTY_OBJECT_SIZE
def test_size_booleans_object(): assert ScriptDataObject.size(ScriptDataObject(foo=True)) == BOOLEAN_VALUE_SIZE
def test_pack_booleans_object(): assert ScriptDataObject.pack(ScriptDataObject(foo=True)) == BOOLEAN_VALUE
def test_size_empty_object(): assert ScriptDataObject.size(ScriptDataObject()) == EMPTY_OBJECT_SIZE
def test_read_strings_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo="bar") assert fd.tell() == STRING_VALUE_SIZE
def test_size_strings_object(): assert ScriptDataObject.size( ScriptDataObject(foo="bar")) == STRING_VALUE_SIZE
def test_pack_numbers_object(): assert ScriptDataObject.pack(ScriptDataObject(foo=123)) == NUMBER_VALUE
def test_pack_strings_object(): assert ScriptDataObject.pack(ScriptDataObject(foo="bar")) == STRING_VALUE
def test_pack_booleans_object(): assert ScriptDataObject.pack(ScriptDataObject(foo=True)) == BOOLEAN_VALUE
def test_read_numbers_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo=123) assert fd.tell() == NUMBER_VALUE_SIZE
def test_size_numbers_object(): assert ScriptDataObject.size(ScriptDataObject(foo=123)) == NUMBER_VALUE_SIZE
def test_read_booleans_object(fd): assert ScriptDataObject.read(fd) == ScriptDataObject(foo=True) assert fd.tell() == BOOLEAN_VALUE_SIZE
def test_pack_empty_object(): assert ScriptDataObject.pack(ScriptDataObject()) == EMPTY_OBJECT