def test_scalar_unknown_csv(): try: shaystack.dump_scalar(shaystack.VER_2_0, mode=shaystack.MODE_CSV, version=shaystack.VER_2_0) assert False, 'Serialised a list in Haystack v2.0' except NotImplementedError: pass
def test_scalar_na_json_ver(): # Test that versions are respected. try: shaystack.dump_scalar(shaystack.NA, mode=shaystack.MODE_JSON, version=shaystack.VER_2_0) assert False, 'Serialised a NA in Haystack v2.0' except ValueError: pass
def test_scalar_list_json_ver(): # Test that versions are respected. try: shaystack.dump_scalar(["a list is not allowed in v2.0"], mode=shaystack.MODE_JSON, version=shaystack.VER_2_0) assert False, 'Serialised a list in Haystack v2.0' except ValueError: pass
def test_scalar_dict_zinc_ver(): # Test that versions are respected. try: shaystack.dump_scalar({"a": "b"}, mode=shaystack.MODE_ZINC, version=shaystack.VER_2_0) assert False, 'Serialised a list in Haystack v2.0' except ValueError: pass
def serialize(hs_scalar: Any) -> Any: """ Convert scala value to Json Args: hs_scalar: Any value """ return json.loads( shaystack.dump_scalar(hs_scalar, shaystack.MODE_JSON, version=shaystack.VER_3_0))
def test_scalar_ref_csv(): # No need to be exhaustive, the underlying function is tested heavily by # the grid dump tests. assert shaystack.dump_scalar( shaystack.Ref('areference', 'a display name'), mode=shaystack.MODE_CSV) == '@areference a display name'
def test_dump_ambiguous_scalar(): assert dump_scalar("F", MODE_CSV) == '"""F"""' assert dump_scalar("°F", MODE_TRIO) == '"°F"'
def test_dump_invalide_scalar(): assert dump_scalar(None)