import XCTest @testable import MarkBase final class EmbeddingGemmaTest: XCTestCase { func testLoadAndEmbed() throws { let modelDir = "/Users/accusys/MarkBaseEngine/models/embeddinggemma-300m" guard FileManager.default.fileExists(atPath: modelDir + "/model.safetensors") else { XCTFail("Model not found"); return } let engine = try MarkBaseEngine(autoCompile: true) let model = try EmbeddingGemmaModel(modelDir: modelDir, engine: engine) XCTAssertEqual(model.config.numHiddenLayers, 24) XCTAssertEqual(model.config.hiddenSize, 768) let emb = try model.embed(text: "Hello world") XCTAssertEqual(emb.count, 768) // Check L2 norm is 1.0 var norm: Float = 0 for v in emb { norm += v * v } norm = sqrt(norm) XCTAssertEqual(norm, 1.0, accuracy: 0.001, "L2 norm should be 1.0") // Check no NaN XCTAssertFalse(emb.contains { $0.isNaN }, "No NaN values") print("✓ Embedding dim=\(emb.count), norm=\(String(format: "%.4f", norm))") } }