| 1 | using CascadeIDE.Services; |
| 2 | using Xunit; |
| 3 | |
| 4 | namespace CascadeIDE.Tests; |
| 5 | |
| 6 | public sealed class IntentMelodyTailSemanticsTests |
| 7 | { |
| 8 | [Theory] |
| 9 | [InlineData("<start:ln>:<end:ln>", 0, 2, 2)] |
| 10 | [InlineData("<start:LINENUMBER>:<end:ln>", 0, 2, 2)] |
| 11 | [InlineData("<start:int>:<end:int>", 2, 0, 2)] |
| 12 | [InlineData("<a:int>:<b:ln>", 1, 1, 2)] |
| 13 | [InlineData("<start:ln>", 0, 1, 1)] |
| 14 | [InlineData("", 0, 0, 0)] |
| 15 | public void Counts_int_ln_and_combined_delimited_numeric_slots(string sig, int intCount, int lnCount, int combined) |
| 16 | { |
| 17 | Assert.Equal(intCount, IntentMelodyTailSemantics.CountIntSlots(sig)); |
| 18 | Assert.Equal(lnCount, IntentMelodyTailSemantics.CountLineNumberSlots(sig)); |
| 19 | Assert.Equal(combined, IntentMelodyTailSemantics.CountDelimitedNumericSlots(sig)); |
| 20 | } |
| 21 | } |
| 22 | |