1
use conjure_cp_essence_parser::diagnostics::diagnostics_api::get_diagnostics;
2
use conjure_cp_essence_parser::diagnostics::error_detection::collect_errors::check_diagnostic;
3

            
4
#[test]
5
1
fn detects_keyword_as_identifier_find() {
6
1
    let source = "find find,b,c: int(1..3)";
7
    // using find keyword instead of identifier
8
1
    let diagnostics = get_diagnostics(source);
9

            
10
    // Should be exactly one diagnostic
11
1
    assert_eq!(diagnostics.len(), 1, "Expected exactly one diagnostic");
12

            
13
1
    let diag = &diagnostics[0];
14

            
15
1
    check_diagnostic(diag, 0, 5, 0, 9, "Keyword 'find' used as identifier");
16
1
}
17

            
18
#[test]
19
1
fn detects_keyword_as_identifier_letting() {
20
1
    let source = "find letting,b,c: int(1..3)";
21
    // using find keyword instead of identifier
22
1
    let diagnostics = get_diagnostics(source);
23

            
24
    // Should be exactly one diagnostic
25
1
    assert_eq!(diagnostics.len(), 1, "Expected exactly one diagnostic");
26

            
27
1
    let diag = &diagnostics[0];
28

            
29
1
    check_diagnostic(diag, 0, 5, 0, 12, "Keyword 'letting' used as identifier");
30
1
}
31

            
32
#[test]
33
1
fn detects_keyword_as_identifier_bool() {
34
1
    let source = "find bool: bool";
35
    // using find keyword instead of identifier
36
1
    let diagnostics = get_diagnostics(source);
37

            
38
    // Should be exactly one diagnostic
39
1
    assert_eq!(diagnostics.len(), 1, "Expected exactly one diagnostic");
40

            
41
1
    let diag = &diagnostics[0];
42

            
43
1
    check_diagnostic(diag, 0, 5, 0, 9, "Keyword 'bool' used as identifier");
44
1
}