use tempfile::TempDir;
use crate::helpers::{ assert_exit, run_clm_with_env };
#[ test ]
fn ac004_float_inference()
{
let dir = TempDir::new().unwrap();
let out = run_clm_with_env(
&[ ".settings.set", "key::pi", "value::3.14" ],
&[ ( "HOME", dir.path().to_str().unwrap() ) ],
);
assert_exit( &out, 0 );
let content = std::fs::read_to_string(
dir.path().join( ".claude/settings.json" )
).unwrap();
assert!( content.contains( "\"pi\": 3.14" ), "3.14 must be stored as bare float: {content}" );
assert!( !content.contains( "\"pi\": \"3.14\"" ), "3.14 must NOT be quoted: {content}" );
}
#[ test ]
fn ac005_nan_stores_string()
{
let dir = TempDir::new().unwrap();
let out = run_clm_with_env(
&[ ".settings.set", "key::bad", "value::nan" ],
&[ ( "HOME", dir.path().to_str().unwrap() ) ],
);
assert_exit( &out, 0 );
let content = std::fs::read_to_string(
dir.path().join( ".claude/settings.json" )
).unwrap();
assert!( content.contains( "\"bad\": \"nan\"" ), "nan must be stored as quoted string: {content}" );
}