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
3
fn detects_keyword_as_identifier_find() {
6
3
    let source = "find find,b,c: int(1..3)";
7
    // using find keyword instead of identifier
8
3
    let diagnostics = get_diagnostics(source);
9

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

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

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

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

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

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

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

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

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

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

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