frc-value 0.1.4

A common value interface for rust frc apps
Documentation
use crate::FrcValue;

#[test]
fn test_value_serde() {
    #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
    struct Test {
        field: FrcValue,
    }

    let test_inst = Test {
        field: FrcValue::from(1.0),
    };
    let json_str = r#"{"field":1.0}"#;

    let test_de: Test = serde_json::from_str(json_str).unwrap();
    let test_ser = serde_json::to_string(&test_inst).unwrap();

    assert_eq!(json_str, test_ser);
    assert_eq!(test_inst, test_de);
}

#[test]
fn test_table_serde_simple() {
    let value = FrcValue::from(1.0);
    assert_eq!(f32::try_from(value.clone()).unwrap(), 1.0);
    fn assert_f64_eq(a: f64, b: f64) {
        assert!((a - b).abs() < 0.0001);
    }
    assert_f64_eq(value.try_into().unwrap(), 1.0);
}