|
11 | 11 | namespace seedtable_test {
|
12 | 12 | public class SubdivideOptionTest {
|
13 | 13 | public static IEnumerable<object[]> Examples() {
|
14 |
| - yield return new object[] { "foos", "NO_NAME", "foos", false, 0, 0, "id", OnOperation.From | OnOperation.To }; |
15 |
| - yield return new object[] { "foo.xlsx/foos", "foo.xlsx", "foos", false, 0, 0, "id", OnOperation.From | OnOperation.To }; |
16 |
| - yield return new object[] { "foos:0", "NO_NAME", "foos", true, 0, 0, "id", OnOperation.From | OnOperation.To }; |
17 |
| - yield return new object[] { "0:foos", "NO_NAME", "foos", true, 0, 0, "id", OnOperation.From | OnOperation.To }; |
18 |
| - yield return new object[] { "foos:1", "NO_NAME", "foos", true, 0, 1, "id", OnOperation.From | OnOperation.To }; |
19 |
| - yield return new object[] { "1:foos", "NO_NAME", "foos", true, 1, 0, "id", OnOperation.From | OnOperation.To }; |
20 |
| - yield return new object[] { "2:foos:2", "NO_NAME", "foos", true, 2, 2, "id", OnOperation.From | OnOperation.To }; |
21 |
| - yield return new object[] { "foos@NO_OPTION", "NO_NAME", "foos", false, 0, 0, "id", OnOperation.From | OnOperation.To }; |
22 |
| - yield return new object[] { "foos@from", "NO_NAME", "foos", false, 0, 0, "id", OnOperation.From }; |
23 |
| - yield return new object[] { "foos@TO", "NO_NAME", "foos", false, 0, 0, "id", OnOperation.To }; |
24 |
| - yield return new object[] { "foos@key=foo_id", "NO_NAME", "foos", false, 0, 0, "foo_id", OnOperation.From | OnOperation.To }; |
25 |
| - yield return new object[] { "foos@from@key=foo_id", "NO_NAME", "foos", false, 0, 0, "foo_id", OnOperation.From }; |
26 |
| - yield return new object[] { "1:foo.xlsx/foos:0@from@key=foo_id", "foo.xlsx", "foos", true, 1, 0, "foo_id", OnOperation.From }; |
| 14 | + yield return new object[] { "foos", "NO_NAME", "foos", false, 0, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 15 | + yield return new object[] { "foo.xlsx/foos", "foo.xlsx", "foos", false, 0, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 16 | + yield return new object[] { "foos:0", "NO_NAME", "foos", true, 0, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 17 | + yield return new object[] { "0:foos", "NO_NAME", "foos", true, 0, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 18 | + yield return new object[] { "foos:1", "NO_NAME", "foos", true, 0, 1, "id", null, null, OnOperation.From | OnOperation.To }; |
| 19 | + yield return new object[] { "1:foos", "NO_NAME", "foos", true, 1, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 20 | + yield return new object[] { "2:foos:2", "NO_NAME", "foos", true, 2, 2, "id", null, null, OnOperation.From | OnOperation.To }; |
| 21 | + yield return new object[] { "foos@NO_OPTION", "NO_NAME", "foos", false, 0, 0, "id", null, null, OnOperation.From | OnOperation.To }; |
| 22 | + yield return new object[] { "foos@from", "NO_NAME", "foos", false, 0, 0, "id", null, null, OnOperation.From }; |
| 23 | + yield return new object[] { "foos@TO", "NO_NAME", "foos", false, 0, 0, "id", null, null, OnOperation.To }; |
| 24 | + yield return new object[] { "foos@key=foo_id", "NO_NAME", "foos", false, 0, 0, "foo_id", null, null, OnOperation.From | OnOperation.To }; |
| 25 | + yield return new object[] { "foos@column-names-row=9", "NO_NAME", "foos", false, 0, 0, "id", 9, null, OnOperation.From | OnOperation.To }; |
| 26 | + yield return new object[] { "foos@data-start-row=10", "NO_NAME", "foos", false, 0, 0, "id", null, 10, OnOperation.From | OnOperation.To }; |
| 27 | + yield return new object[] { "foos@from@key=foo_id", "NO_NAME", "foos", false, 0, 0, "foo_id", null, null, OnOperation.From }; |
| 28 | + yield return new object[] { "1:foo.xlsx/foos:0@from@key=foo_id@column-names-row=9", "foo.xlsx", "foos", true, 1, 0, "foo_id", 9, null, OnOperation.From }; |
27 | 29 | }
|
28 | 30 |
|
29 | 31 | [Theory]
|
30 | 32 | [MemberData(nameof(Examples))]
|
31 |
| - public void Parse(string subdivideStr, string fileName, string sheetName, bool needSubdivide, int cutPrefix, int cutPostfix, string keyColumnName, OnOperation oonOperation) { |
| 33 | + public void Parse(string subdivideStr, string fileName, string sheetName, bool needSubdivide, int cutPrefix, int cutPostfix, string keyColumnName, int? columnNamesRow, int? dataStartRow, OnOperation oonOperation) { |
32 | 34 | var subdivide = SheetNameWithSubdivide.FromMixed(subdivideStr);
|
33 | 35 | Assert.True(subdivide.FileName.IsMatch(fileName));
|
34 | 36 | Assert.True(subdivide.SheetName.IsMatch(sheetName));
|
35 | 37 | Assert.Equal(subdivide.NeedSubdivide, needSubdivide);
|
36 | 38 | Assert.Equal(subdivide.CutPrefix, cutPrefix);
|
37 | 39 | Assert.Equal(subdivide.CutPostfix, cutPostfix);
|
38 | 40 | Assert.Equal(subdivide.KeyColumnName, keyColumnName);
|
| 41 | + Assert.Equal(subdivide.ColumnNamesRow, columnNamesRow); |
| 42 | + Assert.Equal(subdivide.DataStartRow, dataStartRow); |
39 | 43 | Assert.Equal(subdivide.OnOperation, oonOperation);
|
40 | 44 | }
|
41 | 45 | }
|
|
0 commit comments