Skip to content

Commit 5fb8461

Browse files
committed
Merge remote-tracking branch 'origin/claude/create-claude-md-docs-TbEpZ' into claude/create-claude-md-docs-TbEpZ
2 parents ba4be9d + ea9f51b commit 5fb8461

4 files changed

Lines changed: 25 additions & 36 deletions

File tree

CLAUDE.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,17 +158,19 @@ Attributes on a function/method are numbered **within their own group**, not glo
158158

159159
| Group | Source array | Used for |
160160
|-------------------|---------------------------|-----------------------------------------------|
161-
| test + data | `TEST_DATA_ATTRIBUTES` | `#[Test]` + data providers, numbered together |
161+
| data | `DATA_ATTRIBUTES` | Data providers, numbered together |
162162
| inline | `TEST_INLINE_ATTRIBUTES` | Inline test cases (`#[TestInline]`) |
163163
| bench | `BENCH_ATTRIBUTES` | Benchmark data (`#[Bench]`) |
164164

165+
`#[Test]` is **not numbered** — it is runnable (in `RUNNABLE_ATTRIBUTES`) but has no index. It runs the test with `--type=test`.
166+
165167
Example for a function `foo` with multiple attributes:
166168
```
167-
#[Test] → type=test, foo:0
168-
#[DataProvider(...)] → type=test, foo:1
169-
#[DataSet([...])] → type=test, foo:2
170-
#[DataZip(...)] → type=test, foo:3
171-
#[DataCross(...)] → type=test, foo:4
169+
#[Test] → runnable, no index (--type=test)
170+
#[DataProvider(...)] → type=test, foo:0
171+
#[DataSet([...])] → type=test, foo:1
172+
#[DataZip(...)] → type=test, foo:2
173+
#[DataCross(...)] → type=test, foo:3
172174
#[TestInline(...)] → type=inline, foo:0
173175
#[TestInline(...)] → type=inline, foo:1
174176
#[TestInline(...)] → type=inline, foo:2

src/main/kotlin/com/github/xepozz/testo/TestoClasses.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,6 @@ object TestoClasses {
3333
val TEST_INLINE_ATTRIBUTES = arrayOf(
3434
TEST_INLINE,
3535
)
36-
val TEST_DATA_ATTRIBUTES = arrayOf(
37-
TEST,
38-
*DATA_ATTRIBUTES,
39-
)
4036
val BENCH_ATTRIBUTES = arrayOf(
4137
BENCH,
4238
)

src/main/kotlin/com/github/xepozz/testo/util/PsiUtil.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object PsiUtil {
1414
)
1515

1616
val ATTRIBUTE_GROUPS: Array<Array<String>> = arrayOf(
17-
TestoClasses.TEST_DATA_ATTRIBUTES,
17+
TestoClasses.DATA_ATTRIBUTES,
1818
TestoClasses.TEST_INLINE_ATTRIBUTES,
1919
TestoClasses.BENCH_ATTRIBUTES,
2020
)

src/test/kotlin/com/github/xepozz/testo/PsiUtilTest.kt

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,34 +33,29 @@ class PsiUtilTest : TestCase() {
3333

3434
// --- Attribute group tests ---
3535

36-
fun testGetAttributeGroup_testInTestDataGroup() {
37-
val group = PsiUtil.getAttributeGroup(TestoClasses.TEST)
38-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
39-
}
40-
41-
fun testGetAttributeGroup_dataProviderInTestDataGroup() {
36+
fun testGetAttributeGroup_dataProviderInDataGroup() {
4237
val group = PsiUtil.getAttributeGroup(TestoClasses.DATA_PROVIDER)
43-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
38+
assertSame(TestoClasses.DATA_ATTRIBUTES, group)
4439
}
4540

46-
fun testGetAttributeGroup_dataSetInTestDataGroup() {
41+
fun testGetAttributeGroup_dataSetInDataGroup() {
4742
val group = PsiUtil.getAttributeGroup(TestoClasses.DATA_SET)
48-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
43+
assertSame(TestoClasses.DATA_ATTRIBUTES, group)
4944
}
5045

51-
fun testGetAttributeGroup_dataUnionInTestDataGroup() {
46+
fun testGetAttributeGroup_dataUnionInDataGroup() {
5247
val group = PsiUtil.getAttributeGroup(TestoClasses.DATA_UNION)
53-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
48+
assertSame(TestoClasses.DATA_ATTRIBUTES, group)
5449
}
5550

56-
fun testGetAttributeGroup_dataCrossInTestDataGroup() {
51+
fun testGetAttributeGroup_dataCrossInDataGroup() {
5752
val group = PsiUtil.getAttributeGroup(TestoClasses.DATA_CROSS)
58-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
53+
assertSame(TestoClasses.DATA_ATTRIBUTES, group)
5954
}
6055

61-
fun testGetAttributeGroup_dataZipInTestDataGroup() {
56+
fun testGetAttributeGroup_dataZipInDataGroup() {
6257
val group = PsiUtil.getAttributeGroup(TestoClasses.DATA_ZIP)
63-
assertSame(TestoClasses.TEST_DATA_ATTRIBUTES, group)
58+
assertSame(TestoClasses.DATA_ATTRIBUTES, group)
6459
}
6560

6661
fun testGetAttributeGroup_testInlineInInlineGroup() {
@@ -73,6 +68,11 @@ class PsiUtilTest : TestCase() {
7368
assertSame(TestoClasses.BENCH_ATTRIBUTES, group)
7469
}
7570

71+
fun testGetAttributeGroup_testHasNoGroup() {
72+
val group = PsiUtil.getAttributeGroup(TestoClasses.TEST)
73+
assertNull("Test attribute is not numbered, just runnable", group)
74+
}
75+
7676
fun testGetAttributeGroup_nullReturnsNull() {
7777
assertNull(PsiUtil.getAttributeGroup(null))
7878
}
@@ -102,18 +102,9 @@ class PsiUtilTest : TestCase() {
102102

103103
fun testAttributeGroups_totalCount() {
104104
val totalGrouped = PsiUtil.ATTRIBUTE_GROUPS.sumOf { it.size }
105-
val expectedGrouped = TestoClasses.TEST_DATA_ATTRIBUTES.size +
105+
val expectedGrouped = TestoClasses.DATA_ATTRIBUTES.size +
106106
TestoClasses.TEST_INLINE_ATTRIBUTES.size +
107107
TestoClasses.BENCH_ATTRIBUTES.size
108108
assertEquals(expectedGrouped, totalGrouped)
109109
}
110-
111-
fun testTestDataAttributes_containsTestAndAllData() {
112-
val testData = TestoClasses.TEST_DATA_ATTRIBUTES.toSet()
113-
assertTrue(testData.contains(TestoClasses.TEST))
114-
for (attr in TestoClasses.DATA_ATTRIBUTES) {
115-
assertTrue("Missing: $attr", testData.contains(attr))
116-
}
117-
assertEquals(1 + TestoClasses.DATA_ATTRIBUTES.size, TestoClasses.TEST_DATA_ATTRIBUTES.size)
118-
}
119110
}

0 commit comments

Comments
 (0)