# allSome tests

Test 3-level permutations of ',' and '|' operators with and without extra ','s.

```
<S> { :p1 . }                   <S> { :p1 ., }
<S> { :p1 ., :p2 . }            <S> { :p1 ., :p2 ., }
<S> { :p1 .| :p2 . }            <S> { :p1 .,| :p2 ., }
<S> { :p1 ., :p2 .| :p3 . }     <S> { :p1 ., :p2 .,| :p3 ., }
<S> { :p1 .| :p2 ., :p3 . }     <S> { :p1 .,| :p2 ., :p3 ., }
<S> { (:p1 ., :p2 .) }          <S> { (:p1 ., :p2 .,), }
<S> { (:p1 .| :p2 .) }          <S> { (:p1 .,| :p2 .,), }
<S> { ((:p1 .| :p2 .), :p3 .) } <S> { ((:p1 .,| :p2 .,), :p3 .,), }
<S> { (:p1 ., (:p2 .| :p3 .)) } <S> { (:p1 ., (:p2 .,| :p3 .,),), }
<S> { ((:p1 ., :p2 .)| :p3 .) } <S> { ((:p1 ., :p2 .,),| :p3 .,), }
<S> { (:p1 .| (:p2 ., :p3 .)) } <S> { (:p1 .,| (:p2 ., :p3 .,),), }
<S> { (:p1 ., :p2 .| :p3 .), :p4 . }
                                <S> { (:p1 ., :p2 .,| :p3 .,), :p4 ., }
```

Filename token | ShExC
--- | ---
pₙ | `:pₙ .`
A | `,`
V | `|`
O | `(`
C | `)`

## p1
```
<S> { :p1 . }
```

## p1_A
```
<S> { :p1 ., }
```

## p1_A_p2
```
<S> { :p1 ., :p2 . }
```

## p1_A_p2_A
```
<S> { :p1 ., :p2 ., }
```

## p1_V_p2
```
<S> { :p1 .| :p2 . }
```

## p1_A_V_p2_A
```
<S> { :p1 .,| :p2 ., }
```

## p1_A_p2_V_p3
```
<S> { :p1 ., :p2 .| :p3 . }
```

## p1_A_p2_A_V_p3_A
```
<S> { :p1 ., :p2 .,| :p3 ., }
```

## p1_V_p2_A_p3
```
<S> { :p1 .| :p2 ., :p3 . }
```

## p1_A_V_p2_A_p3_A
```
<S> { :p1 .,| :p2 ., :p3 ., }
```

## O_p1_A_p2_C
```
<S> { (:p1 ., :p2 .) }
```

## O_p1_A_p2_A_C_A
```
<S> { (:p1 ., :p2 .,), }
```

## O_p1_V_p2_C
```
<S> { (:p1 .| :p2 .) }
```

## O_p1_A_V_p2_A_C_A
```
<S> { (:p1 .,| :p2 .,), }
```

## O_O_p1_V_p2_C_A_p3_C
```
<S> { ((:p1 .| :p2 .), :p3 .) }
```

## O_O_p1_A_V_p2_A_C_A_p3_A_C_A
```
<S> { ((:p1 .,| :p2 .,), :p3 .,), }
```

## O_p1_A_O_p2_V_p3_C_C
```
<S> { (:p1 ., (:p2 .| :p3 .)) }
```

## O_p1_A_O_p2_A_V_p3_A_C_A_C_A
```
<S> { (:p1 ., (:p2 .,| :p3 .,),), }
```

## O_O_p1_A_p2_C_V_p3_C
```
<S> { ((:p1 ., :p2 .)| :p3 .) }
```

## O_O_p1_A_p2_A_C_A_V_p3_A_C_A
```
<S> { ((:p1 ., :p2 .,),| :p3 .,), }
```

## O_p1_V_O_p2_A_p3_C_C
```
<S> { (:p1 .| (:p2 ., :p3 .)) }
```

## O_p1_A_V_O_p2_A_p3_A_C_A_C_A
```
<S> { (:p1 .,| (:p2 ., :p3 .,),), }
```

## O_p1_A_p2_V_p3_C_A_p4
```
<S> { (:p1 ., :p2 .| :p3 .), :p4 . }
```

## O_p1_A_p2_A_V_p3_A_C_A_p4_A
```
<S> { (:p1 ., :p2 .,| :p3 .,), :p4 ., }
```

