cairo-lang-starknet 1.0.0-alpha.2

Starknet capabilities and utilities on top of Cairo.
Documentation
use cairo_lang_test_utils::compare_contents_or_fix_with_path;
use test_case::test_case;

use crate::casm_contract_class::CasmContractClass;
use crate::test_utils::{get_example_file_path, get_test_contract};

#[test_case("test_contract")]
#[test_case("hello_starknet")]
#[test_case("erc20")]
fn test_casm_contract_from_contract_class(example_file_name: &str) {
    let contract_class = get_test_contract(format!("{}.cairo", example_file_name).as_str());
    let casm_contract = CasmContractClass::from_contract_class(contract_class).unwrap();

    compare_contents_or_fix_with_path(
        &get_example_file_path(format!("{}.casm", example_file_name).as_str()),
        serde_json::to_string_pretty(&casm_contract).unwrap() + "\n",
    );
}