Skip to content

Commit bf2cf8b

Browse files
author
michaelk
committed
Update after 1st review
1 parent d065571 commit bf2cf8b

8 files changed

Lines changed: 49 additions & 24 deletions

File tree

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package io.reflectoring.archunit;
22

33
import java.math.BigDecimal;
4+
import java.time.Clock;
5+
import java.time.LocalDateTime;
46

57
public class ArchUnitExamples {
68

7-
public void reference_deprecated_class() {
9+
public void referenceDeprecatedClass() {
810
Dep dep = new Dep();
911
}
1012

@@ -13,10 +15,17 @@ public class Dep {
1315

1416
}
1517

16-
public void this_method_calls_the_wrong_BigDecimal_constructor() {
18+
public void thisMethodCallsTheWrongBigDecimalConstructor() {
1719
BigDecimal value = new BigDecimal(123.0);
1820

1921
// BigDecimal value = new BigDecimal("123.0"); // works!
2022
}
2123

24+
public void instantiateLocalDatetime() {
25+
var clock = Clock.systemDefaultZone();
26+
LocalDateTime localDate = LocalDateTime.now(clock);
27+
// The below line will fail the ArchUnit test
28+
// LocalDateTime localDateWrong = LocalDateTime.now();
29+
}
30+
2231
}

archunit/src/main/java/io/reflectoring/archunit/api/EmployeeController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.reflectoring.archunit.api;
22

3-
import io.reflectoring.archunit.model.EmployeeResponse;
3+
import io.reflectoring.archunit.service.EmployeeResponse;
44
import io.reflectoring.archunit.service.EmployeeService;
55

66
import javax.ws.rs.GET;

archunit/src/main/java/io/reflectoring/archunit/model/Employee.java renamed to archunit/src/main/java/io/reflectoring/archunit/persistence/Employee.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
package io.reflectoring.archunit.model;
1+
package io.reflectoring.archunit.persistence;
22

33
public record Employee(long id, String name, boolean active) { }

archunit/src/main/java/io/reflectoring/archunit/persistence/EmployeeDao.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package io.reflectoring.archunit.persistence;
22

3-
import io.reflectoring.archunit.model.Employee;
4-
53
public class EmployeeDao {
64

75
public Employee findEmployee() {

archunit/src/main/java/io/reflectoring/archunit/model/EmployeeResponse.java renamed to archunit/src/main/java/io/reflectoring/archunit/service/EmployeeResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
package io.reflectoring.archunit.model;
1+
package io.reflectoring.archunit.service;
22

33
public record EmployeeResponse(long id, String name, boolean active) { }

archunit/src/main/java/io/reflectoring/archunit/service/EmployeeService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.reflectoring.archunit.service;
22

3-
import io.reflectoring.archunit.model.Employee;
4-
import io.reflectoring.archunit.model.EmployeeResponse;
3+
import io.reflectoring.archunit.persistence.Employee;
54
import io.reflectoring.archunit.persistence.EmployeeDao;
65

76
public class EmployeeService {

archunit/src/test/java/io/reflectoring/archunit/ArchUnitCachedTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
@AnalyzeClasses(packages = "io.reflectoring.archunit")
1313
public class ArchUnitCachedTest {
1414
@ArchTest
15-
public void do_not_call_deprecated_methods_from_the_project(JavaClasses classes) {
15+
public void doNotCallDeprecatedMethodsFromTheProject(JavaClasses classes) {
1616
ArchRule rule = noClasses().should().dependOnClassesThat().areAnnotatedWith(Deprecated.class);
1717
rule.check(classes);
1818
}
1919

2020
@ArchTest
21-
public void do_not_call_constructor_cached(JavaClasses classes) {
21+
public void doNotCallConstructorCached(JavaClasses classes) {
2222
ArchRule rule = noClasses().should().callConstructor(BigDecimal.class, double.class);
2323
rule.check(classes);
2424
}

archunit/src/test/java/io/reflectoring/archunit/ArchUnitTest.java

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.junit.jupiter.api.Test;
1515

1616
import java.math.BigDecimal;
17+
import java.time.LocalDateTime;
1718
import java.util.ArrayList;
1819
import java.util.List;
1920

@@ -39,7 +40,7 @@ public void myLayerAccessTest() {
3940
}
4041

4142
@Test
42-
public void freezing_rules() {
43+
public void freezingRules() {
4344
JavaClasses importedClasses = new ClassFileImporter().importPackages("io.reflectoring.archunit");
4445

4546
ArchRule rule = methods().that()
@@ -50,35 +51,47 @@ public void freezing_rules() {
5051
}
5152

5253
@Test
53-
public void do_not_call_constructor() {
54-
JavaClasses importedClasses = new ClassFileImporter().importPackages("io.reflectoring.archunit");
55-
ArchRule rule = noClasses().should().callConstructor(BigDecimal.class, double.class);
54+
public void doNotCallConstructor() {
55+
JavaClasses importedClasses = new ClassFileImporter()
56+
.importPackages("io.reflectoring.archunit");
57+
ArchRule rule = noClasses().should()
58+
.callConstructor(BigDecimal.class, double.class);
5659
rule.check(importedClasses);
5760
}
5861

5962
@Test
60-
public void do_not_call_deprecated_methods_from_the_project() {
63+
public void instantiateLocalDateTimeWithClock() {
6164
JavaClasses importedClasses = new ClassFileImporter().importPackages("io.reflectoring.archunit");
62-
ArchRule rule = noClasses().should().dependOnClassesThat().areAnnotatedWith(Deprecated.class);
65+
ArchRule rule = noClasses().should().callMethod(LocalDateTime.class, "now");
66+
rule.check(importedClasses);
67+
}
68+
69+
@Test
70+
public void doNotCallDeprecatedMethodsFromTheProject() {
71+
JavaClasses importedClasses = new ClassFileImporter()
72+
.importPackages("io.reflectoring.archunit");
73+
ArchRule rule = noClasses().should()
74+
.dependOnClassesThat()
75+
.areAnnotatedWith(Deprecated.class);
6376
rule.check(importedClasses);
6477
}
6578

6679
@Test
67-
public void a_test_with_an_assertion() {
80+
public void aTestWithAnAssertion() {
6881
String expected = "chocolate";
6982
String actual = "chocolate";
7083
assertEquals(expected, actual);
7184
}
7285

7386
@Test
74-
public void a_test_without_an_assertion() {
87+
public void aTestWithoutAnAssertion() {
7588
String expected = "chocolate";
7689
String actual = "chocolate";
7790
expected.equals(actual);
7891
}
7992

8093
@ArchTest
81-
public void test_methods_should_assert_something(JavaClasses classes) {
94+
public void testMethodsShouldAssertSomething(JavaClasses classes) {
8295
ArchRule testMethodRule = methods().that().areAnnotatedWith(Test.class)
8396
.should(callAnAssertion);
8497
testMethodRule.check(classes);
@@ -96,15 +109,21 @@ public void testArrayList() {
96109
@Override
97110
public void check(JavaMethod item, ConditionEvents events) {
98111
for (JavaMethodCall call : item.getMethodCallsFromSelf()) {
99-
if((call.getTargetOwner().getPackageName().equals(org.junit.jupiter.api.Assertions.class.getPackageName())
100-
&& call.getTargetOwner().getName().equals(org.junit.jupiter.api.Assertions.class.getName()))
101-
|| (call.getTargetOwner().getName().equals(com.tngtech.archunit.lang.ArchRule.class.getName())
112+
if((call.getTargetOwner().getPackageName().equals(
113+
org.junit.jupiter.api.Assertions.class.getPackageName()
114+
)
115+
&& call.getTargetOwner().getName().equals(
116+
org.junit.jupiter.api.Assertions.class.getName()))
117+
|| (call.getTargetOwner().getName().equals(
118+
com.tngtech.archunit.lang.ArchRule.class.getName())
102119
&& call.getName().equals("check"))
103120
) {
104121
return;
105122
}
106123
}
107-
events.add(SimpleConditionEvent.violated(item, item.getDescription() + "does not assert anything."));
124+
events.add(SimpleConditionEvent.violated(
125+
item, item.getDescription() + "does not assert anything.")
126+
);
108127
}
109128
};
110129
}

0 commit comments

Comments
 (0)