def test_generate(schema_filename):
    fixture_filename = FIXTURES_DIR / (schema_filename.name.split(".")[0] + ".ast.json")

    schema = load_schema(schema_filename.read_text())

    generator = JavaScriptFlowGenerator(schema)
    result = generator.generate().as_ast()

    expected = json.loads(fixture_filename.read_text())

    assert result == expected
def test_generate(schema_filename):
    fixture_filename = FIXTURES_DIR / (schema_filename.name.split(".")[0] + ".py")

    schema = load_schema(schema_filename.read_text())
    fixture = astor.parse_file(fixture_filename)

    generator = Python3Generator(schema)
    result = generator.generate().as_ast()

    result_ast = astor.dump_tree(result)
    expected = astor.dump_tree(fixture)

    print(astor.to_source(result))

    assert result_ast == expected
def test_generate(schema_filename):
    fixture_filename = FIXTURES_DIR / (schema_filename.name.split(".")[0] + ".py")

    schema = load_schema(schema_filename.read_text())

    try:
        fixture = astor.parse_file(fixture_filename)
    except FileNotFoundError:
        warnings.warn(f"Fixture not implemented yet: {os.path.basename(fixture_filename)}")
        return

    generator = Python3MarshmallowGenerator(schema)
    result = generator.generate().as_ast()

    result_ast = astor.dump_tree(result)
    expected = astor.dump_tree(fixture)

    print(astor.to_source(result))

    assert result_ast == expected