rbe_testsuite 0.2.10

RDF data shapes implementation in Rust
Documentation
---
tests:

  # /a/ = a
  - name: a_1_1_with_a_1_pass
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: 1
    bag:
      - - a
        - 1
    open: false
    match_result: !Pass

  # /a/ != aa
  - name: a_1_1_with_a_2_fail
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: 1
    bag:
      - - a
        - 2
    open: false
    match_result: !Fail

  # /a{1,3}/ = aa
  - name: a_1_3_with_a_2_pass
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: 3
    bag:
      - - a
        - 2
    open: false
    match_result: !Pass

  # /a/ != b
  - name: a_1_1_with_b_1_fail
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: 1
    bag:
      - - b
        - 1
    open: false
    match_result: !Fail

    # /a{1,u}/ = a
  - name: a_1_u_with_a_1_pass
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: -1
    bag:
      - - a
        - 1
    open: true
    match_result: !Pass

    # /a{1,u}/(open) = ab
  - name: a_1_u_with_a_1_b_1_pass
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: -1
    bag:
      - - a
        - 1
      - - b
        - 1
    open: true
    match_result: !Pass

    # /a{1,u}/(closed) != ab
  - name: a_1_u_with_a_1_b_1_closed_fail
    rbe: !Symbol
      value: a
      card:
        min: 1
        max: -1
    bag:
      - - a
        - 1
      - - b
        - 1
    open: false
    match_result: !Fail

    # /a{1,u}/(closed) != ab
  - name: b_plus_with_a_1_b_1_open_pass
    rbe: !Symbol
      value: b
      card:
        min: 1
        max: -1
    bag:
      - - a
        - 1
      - - b
        - 1
    open: true
    match_result: !Pass

    # /a{1,1};b{2,3}/ != ab
  - name: a_1_1_b_2_3_with_a_1_b_1_open_fail
    rbe: !And
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 2
            max: 3
    bag:
      - - a
        - 1
      - - b
        - 1
    open: true
    match_result: !Fail

    # /a{1,1};b{2,3}/ = abb
  - name: a_1_1_b_2_3_with_a_1_b_2_open_pass
    rbe: !And
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 2
            max: 3
    bag:
      - - a
        - 1
      - - b
        - 2
    open: true
    match_result: !Pass

    # /a{1,1}|b{1,1}/ = a
  - name: a_1_1_or_b_1_1_with_a_1_open_pass
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - a
        - 1
    open: true
    match_result: !Pass

    # /a{1,1}|b{1,1}/ = b
  - name: a_1_1_or_b_1_1_with_b_1_open_pass
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - b
        - 1
    open: true
    match_result: !Pass

    # /a{1,1}|b{1,1}/ != c
  - name: a_1_1_or_b_1_1_with_c_1_open_fail
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - c
        - 1
    open: true
    match_result: !Fail

    # /a{1,1}|b{1,1}/ != ab
  - name: a_1_1_or_b_1_1_with_a_1_b_1_open_fail
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - a
        - 1
      - - b
        - 1
    open: true
    match_result: !Fail

    # /a{1,1}|b{1,1}/(open) == ac
  - name: a_1_1_or_b_1_1_with_a_1_c_1_open_pass
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - a
        - 1
      - - c
        - 1
    open: true
    match_result: !Pass

    # /a{1,1}|b{1,1}/(closed) != ac
  - name: a_1_1_or_b_1_1_with_a_1_c_1_closed_fail
    rbe: !Or
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
    bag:
      - - a
        - 1
      - - c
        - 1
    open: false
    match_result: !Fail

  - name: a_1_1_and_b_1_1_and_c_0_1_with_a_1_c_1_b_1_closed_pass
    rbe: !And
      values:
        - !Symbol
          value: a
          card:
            min: 1
            max: 1
        - !Symbol
          value: b
          card:
            min: 1
            max: 1
        - !Symbol
          value: c
          card:
            min: 0
            max: 1
    bag:
      - - a
        - 1
      - - c
        - 1
      - - b
        - 1
    open: false
    match_result: !Pass