#[macro_use] extern crate lazy_static; mod util; #[test] fn test() -> Result<(), jdbc::errors::Error> { let ds = util::sqlite(); let conn = ds.get_connection()?; let statement = conn .prepare_statement("select ? as value")? .set_short(1, i16::MAX)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_short(1)?, Some(i16::MAX)); assert_eq!(result.get_short_by_label("value")?, Some(i16::MAX)); let statement = conn .prepare_statement("select ? as value")? .set_int(1, i32::MAX)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_int(1)?, Some(i32::MAX)); assert_eq!(result.get_int_by_label("value")?, Some(i32::MAX)); let statement = conn .prepare_statement("select ? as value")? .set_long(1, i64::MAX)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_long(1)?, Some(i64::MAX)); assert_eq!(result.get_long_by_label("value")?, Some(i64::MAX)); let statement = conn .prepare_statement("select ? as value")? .set_float(1, f32::MAX)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_float(1)?, Some(f32::MAX)); assert_eq!(result.get_float_by_label("value")?, Some(f32::MAX)); let statement = conn .prepare_statement("select ? as value")? .set_double(1, f64::MAX)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_double(1)?, Some(f64::MAX)); assert_eq!(result.get_double_by_label("value")?, Some(f64::MAX)); let statement = conn .prepare_statement("select ? as value")? .set_boolean(1, true)?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_boolean(1)?, Some(true)); assert_eq!(result.get_boolean_by_label("value")?, Some(true)); Ok(()) } #[test] fn test_null() -> Result<(), jdbc::errors::Error> { let ds = util::sqlite(); let conn = ds.get_connection()?; let statement = conn.prepare_statement("select NULL")?; let result = statement.execute_query()?; assert_eq!(result.next()?, true); assert_eq!(result.get_short(1)?, None); assert_eq!(result.get_int(1)?, None); assert_eq!(result.get_long(1)?, None); assert_eq!(result.get_float(1)?, None); assert_eq!(result.get_double(1)?, None); assert_eq!(result.get_boolean(1)?, None); assert_eq!(result.was_null()?, true); Ok(()) }