| 127 | |
| 128 | #[test] |
| 129 | fn test_resolve_column_oid() { |
| 130 | let conn = Connection::open_in_memory().unwrap(); |
| 131 | |
| 132 | // Create test table |
| 133 | conn.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)", []).unwrap(); |
| 134 | |
| 135 | // Test column resolution |
| 136 | let (_table_oid, col_num) = ObjectResolver::resolve_column_oid(&conn, "users", "id").unwrap(); |
| 137 | assert_eq!(col_num, 1); // First column (1-based) |
| 138 | |
| 139 | let (_, col_num2) = ObjectResolver::resolve_column_oid(&conn, "users", "name").unwrap(); |
| 140 | assert_eq!(col_num2, 2); // Second column |
| 141 | |
| 142 | let (_, col_num3) = ObjectResolver::resolve_column_oid(&conn, "users", "email").unwrap(); |
| 143 | assert_eq!(col_num3, 3); // Third column |
| 144 | |
| 145 | // Test case insensitive |
| 146 | let (_, col_num4) = ObjectResolver::resolve_column_oid(&conn, "users", "EMAIL").unwrap(); |
| 147 | assert_eq!(col_num4, 3); |
| 148 | |
| 149 | // Test error for non-existent column |
| 150 | assert!(ObjectResolver::resolve_column_oid(&conn, "users", "nonexistent").is_err()); |
| 151 | } |
| 152 | |
| 153 | #[test] |
| 154 | fn test_get_all_tables() { |