Skip to content

Commit 7e3923a

Browse files
more tests
1 parent 0e4a588 commit 7e3923a

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

src/Expression/ForClasses/IsNotFinal.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function describe(ClassDescription $theClass, string $because): Descripti
2020

2121
public function appliesTo(ClassDescription $theClass): bool
2222
{
23-
return !($theClass->isInterface() || $theClass->isTrait() || $theClass->isEnum() || $theClass->isFinal());
23+
return !($theClass->isInterface() || $theClass->isTrait() || $theClass->isEnum() || $theClass->isAbstract());
2424
}
2525

2626
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void

tests/Unit/Expressions/ForClasses/IsAbstractTest.php

+12
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Arkitect\Analyzer\ClassDescription;
88
use Arkitect\Analyzer\FullyQualifiedClassName;
99
use Arkitect\Expression\ForClasses\IsAbstract;
10+
use Arkitect\Expression\ForClasses\IsNotAbstract;
1011
use Arkitect\Rules\Violations;
1112
use PHPUnit\Framework\TestCase;
1213

@@ -61,6 +62,7 @@ public function test_it_should_return_true_if_is_abstract(): void
6162
public function test_interfaces_can_not_be_abstract_and_should_be_ignored(): void
6263
{
6364
$isAbstract = new IsAbstract();
65+
$isNotAbstract = new IsNotAbstract();
6466
$classDescription = new ClassDescription(
6567
FullyQualifiedClassName::fromString('HappyIsland'),
6668
[],
@@ -75,11 +77,14 @@ public function test_interfaces_can_not_be_abstract_and_should_be_ignored(): voi
7577
);
7678

7779
self::assertFalse($isAbstract->appliesTo($classDescription));
80+
self::assertFalse($isNotAbstract->appliesTo($classDescription));
7881
}
7982

8083
public function test_traits_can_not_be_abstract_and_should_be_ignored(): void
8184
{
8285
$isAbstract = new IsAbstract();
86+
$isNotAbstract = new IsNotAbstract();
87+
8388
$classDescription = new ClassDescription(
8489
FullyQualifiedClassName::fromString('HappyIsland'),
8590
[],
@@ -94,11 +99,14 @@ public function test_traits_can_not_be_abstract_and_should_be_ignored(): void
9499
);
95100

96101
self::assertFalse($isAbstract->appliesTo($classDescription));
102+
self::assertFalse($isNotAbstract->appliesTo($classDescription));
97103
}
98104

99105
public function test_enums_can_not_be_abstract_and_should_be_ignored(): void
100106
{
101107
$isAbstract = new IsAbstract();
108+
$isNotAbstract = new IsNotAbstract();
109+
102110
$classDescription = new ClassDescription(
103111
FullyQualifiedClassName::fromString('HappyIsland'),
104112
[],
@@ -113,11 +121,14 @@ public function test_enums_can_not_be_abstract_and_should_be_ignored(): void
113121
);
114122

115123
self::assertFalse($isAbstract->appliesTo($classDescription));
124+
self::assertFalse($isNotAbstract->appliesTo($classDescription));
116125
}
117126

118127
public function test_final_classes_can_not_be_abstract_and_should_be_ignored(): void
119128
{
120129
$isAbstract = new IsAbstract();
130+
$isNotAbstract = new IsNotAbstract();
131+
121132
$classDescription = new ClassDescription(
122133
FullyQualifiedClassName::fromString('HappyIsland'),
123134
[],
@@ -132,5 +143,6 @@ public function test_final_classes_can_not_be_abstract_and_should_be_ignored():
132143
);
133144

134145
self::assertFalse($isAbstract->appliesTo($classDescription));
146+
self::assertFalse($isNotAbstract->appliesTo($classDescription));
135147
}
136148
}

tests/Unit/Expressions/ForClasses/IsFinalTest.php

+13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Arkitect\Analyzer\ClassDescription;
88
use Arkitect\Analyzer\FullyQualifiedClassName;
99
use Arkitect\Expression\ForClasses\IsFinal;
10+
use Arkitect\Expression\ForClasses\IsNotFinal;
1011
use Arkitect\Rules\Violations;
1112
use PHPUnit\Framework\TestCase;
1213

@@ -59,6 +60,8 @@ public function test_it_should_return_true_if_is_final(): void
5960
public function test_final_classes_can_not_be_abstract_and_should_be_ignored(): void
6061
{
6162
$isFinal = new IsFinal();
63+
$isNotFinal = new IsNotFinal();
64+
6265
$classDescription = new ClassDescription(
6366
FullyQualifiedClassName::fromString('HappyIsland'),
6467
[],
@@ -73,11 +76,14 @@ public function test_final_classes_can_not_be_abstract_and_should_be_ignored():
7376
);
7477

7578
self::assertFalse($isFinal->appliesTo($classDescription));
79+
self::assertFalse($isNotFinal->appliesTo($classDescription));
7680
}
7781

7882
public function test_interfaces_can_not_be_final_and_should_be_ignored(): void
7983
{
8084
$isFinal = new IsFinal();
85+
$isNotFinal = new IsNotFinal();
86+
8187
$classDescription = new ClassDescription(
8288
FullyQualifiedClassName::fromString('HappyIsland'),
8389
[],
@@ -92,11 +98,14 @@ public function test_interfaces_can_not_be_final_and_should_be_ignored(): void
9298
);
9399

94100
self::assertFalse($isFinal->appliesTo($classDescription));
101+
self::assertFalse($isNotFinal->appliesTo($classDescription));
95102
}
96103

97104
public function test_traits_can_not_be_final_and_should_be_ignored(): void
98105
{
99106
$isFinal = new IsFinal();
107+
$isNotFinal = new IsNotFinal();
108+
100109
$classDescription = new ClassDescription(
101110
FullyQualifiedClassName::fromString('HappyIsland'),
102111
[],
@@ -111,11 +120,14 @@ public function test_traits_can_not_be_final_and_should_be_ignored(): void
111120
);
112121

113122
self::assertFalse($isFinal->appliesTo($classDescription));
123+
self::assertFalse($isNotFinal->appliesTo($classDescription));
114124
}
115125

116126
public function test_enums_can_not_be_final_and_should_be_ignored(): void
117127
{
118128
$isFinal = new IsFinal();
129+
$isNotFinal = new IsNotFinal();
130+
119131
$classDescription = new ClassDescription(
120132
FullyQualifiedClassName::fromString('HappyIsland'),
121133
[],
@@ -130,5 +142,6 @@ public function test_enums_can_not_be_final_and_should_be_ignored(): void
130142
);
131143

132144
self::assertFalse($isFinal->appliesTo($classDescription));
145+
self::assertFalse($isNotFinal->appliesTo($classDescription));
133146
}
134147
}

tests/Unit/Expressions/ForClasses/IsReadonlyTest.php

+9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Arkitect\Analyzer\ClassDescription;
88
use Arkitect\Analyzer\FullyQualifiedClassName;
9+
use Arkitect\Expression\ForClasses\IsNotReadonly;
910
use Arkitect\Expression\ForClasses\IsReadonly;
1011
use Arkitect\Rules\Violations;
1112
use PHPUnit\Framework\TestCase;
@@ -60,6 +61,7 @@ public function test_it_should_return_true_if_is_readonly(): void
6061
public function test_interfaces_can_not_be_readonly_and_should_be_ignored(): void
6162
{
6263
$isReadonly = new IsReadonly();
64+
$isNotReadonly = new IsNotReadonly();
6365
$classDescription = new ClassDescription(
6466
FullyQualifiedClassName::fromString('HappyIsland'),
6567
[],
@@ -74,11 +76,14 @@ public function test_interfaces_can_not_be_readonly_and_should_be_ignored(): voi
7476
);
7577

7678
self::assertFalse($isReadonly->appliesTo($classDescription));
79+
self::assertFalse($isNotReadonly->appliesTo($classDescription));
7780
}
7881

7982
public function test_traits_can_not_be_readonly_and_should_be_ignored(): void
8083
{
8184
$isReadonly = new IsReadonly();
85+
$isNotReadonly = new IsNotReadonly();
86+
8287
$classDescription = new ClassDescription(
8388
FullyQualifiedClassName::fromString('HappyIsland'),
8489
[],
@@ -93,11 +98,14 @@ public function test_traits_can_not_be_readonly_and_should_be_ignored(): void
9398
);
9499

95100
self::assertFalse($isReadonly->appliesTo($classDescription));
101+
self::assertFalse($isNotReadonly->appliesTo($classDescription));
96102
}
97103

98104
public function test_enums_can_not_be_readonly_and_should_be_ignored(): void
99105
{
100106
$isReadonly = new IsReadonly();
107+
$isNotReadonly = new IsNotReadonly();
108+
101109
$classDescription = new ClassDescription(
102110
FullyQualifiedClassName::fromString('HappyIsland'),
103111
[],
@@ -112,5 +120,6 @@ public function test_enums_can_not_be_readonly_and_should_be_ignored(): void
112120
);
113121

114122
self::assertFalse($isReadonly->appliesTo($classDescription));
123+
self::assertFalse($isNotReadonly->appliesTo($classDescription));
115124
}
116125
}

0 commit comments

Comments
 (0)