fix: resolve 8 integration test compilation errors (#46)
CI / CI (push) Successful in 11m36s
CI / CI (push) Successful in 11m36s
## Problem 8 integration test files failed to compile due to: 1. Ambiguous float types (Rust 2024+ stricter inference) 2. chrono 0.4 API change (`with_hour` removed) 3. Missing `sqlx` + `base64` in `[dev-dependencies]` 4. `<` parsed as generics instead of comparison 5. Incorrect assertion (3^5=243 > 100) ## Fix - Added `f32`/`f64` type annotations to vec declarations and bindings - Replaced `with_hour(0)` with `date_naive().and_hms_opt(0,0,0).unwrap().and_utc()` - Added `sqlx` + `base64` to `[dev-dependencies]` - Wrapped comparison in parens - Fixed assertion: nodes=100 → nodes=1000 ## Validation - `cargo build --release` clean - `cargo test` — 20 test suites, 0 failures - 10 files changed, 46 insertions, 42 deletionsReviewed-on: #46 Co-authored-by: rock <[email protected]>
This commit was merged in pull request #46.
This commit is contained in:
@@ -67,7 +67,7 @@ mod tests {
|
||||
/// Test: Score normalization (clamped to 0.0-1.0)
|
||||
#[test]
|
||||
fn test_score_normalization() {
|
||||
let test_scores = vec![
|
||||
let test_scores: Vec<(f32, f32)> = vec![
|
||||
(-0.5, 0.0), // Negative → 0.0
|
||||
(0.0, 0.0), // Valid → 0.0
|
||||
(0.5, 0.5), // Valid → 0.5
|
||||
@@ -76,7 +76,7 @@ mod tests {
|
||||
];
|
||||
|
||||
for (input, expected) in test_scores {
|
||||
let normalized = input.max(0.0).min(1.0);
|
||||
let normalized = input.max(0.0_f32).min(1.0_f32);
|
||||
assert_eq!(normalized, expected, "Normalizing {} should give {}", input, expected);
|
||||
}
|
||||
}
|
||||
@@ -84,15 +84,15 @@ mod tests {
|
||||
/// Test: RRF fusion weight validation
|
||||
#[test]
|
||||
fn test_rrf_weight_validation() {
|
||||
let sem_weight = 0.6;
|
||||
let lex_weight = 0.4;
|
||||
let sem_weight: f32 = 0.6;
|
||||
let lex_weight: f32 = 0.4;
|
||||
|
||||
assert!(sem_weight >= 0.0 && sem_weight <= 1.0);
|
||||
assert!(lex_weight >= 0.0 && lex_weight <= 1.0);
|
||||
|
||||
// Weights should be normalized
|
||||
let sem_normalized = sem_weight.max(0.0).min(1.0);
|
||||
let lex_normalized = lex_weight.max(0.0).min(1.0);
|
||||
let sem_normalized = sem_weight.max(0.0_f32).min(1.0_f32);
|
||||
let lex_normalized = lex_weight.max(0.0_f32).min(1.0_f32);
|
||||
|
||||
assert_eq!(sem_normalized, 0.6);
|
||||
assert_eq!(lex_normalized, 0.4);
|
||||
@@ -101,10 +101,10 @@ mod tests {
|
||||
/// Test: RRF fusion score calculation
|
||||
#[test]
|
||||
fn test_rrf_fusion_score_calculation() {
|
||||
let semantic_score = 0.92;
|
||||
let lexical_score = 0.85;
|
||||
let sem_weight = 0.6;
|
||||
let lex_weight = 0.4;
|
||||
let semantic_score: f32 = 0.92;
|
||||
let lexical_score: f32 = 0.85;
|
||||
let sem_weight: f32 = 0.6;
|
||||
let lex_weight: f32 = 0.4;
|
||||
|
||||
let fused_score = (sem_weight * semantic_score) + (lex_weight * lexical_score);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user