From e3d23f73bf7abfd1021f7000124272a6dc03013a Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Wed, 1 Jan 2020 13:15:55 +0100
Subject: [PATCH] add test for fields with different visibility

---
 .../src/test/java/org/extendj/FieldsTest.java | 27 +++++++++++++++++++
 scope4j/src/test/resources/fields/ClassA.java | 15 +++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 scope4j/src/test/java/org/extendj/FieldsTest.java
 create mode 100644 scope4j/src/test/resources/fields/ClassA.java

diff --git a/scope4j/src/test/java/org/extendj/FieldsTest.java b/scope4j/src/test/java/org/extendj/FieldsTest.java
new file mode 100644
index 0000000..764db42
--- /dev/null
+++ b/scope4j/src/test/java/org/extendj/FieldsTest.java
@@ -0,0 +1,27 @@
+package org.extendj;
+
+import org.extendj.ast.AbstractFinding;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.util.Set;
+
+public class FieldsTest extends ScopeAnalysisTest {
+
+  @Test
+  void test() {
+
+    ScopeAnalysis scopeAnalysis = new ScopeAnalysis();
+    Set<AbstractFinding> findings = scopeAnalysis.analyze("src/test/resources/fields", true, false);
+
+
+//    assertShadow(findings, "fieldC", 19, 3);
+//    assertShadow(findings, "fieldB", 21, 4);
+//    assertRedefinition(findings, "fieldB", 2);
+//    assertRedefinition(findings, "fieldB", 4);
+
+//    Assertions.assertEquals(4, findings.size());
+
+  }
+
+}
diff --git a/scope4j/src/test/resources/fields/ClassA.java b/scope4j/src/test/resources/fields/ClassA.java
new file mode 100644
index 0000000..a94c5b7
--- /dev/null
+++ b/scope4j/src/test/resources/fields/ClassA.java
@@ -0,0 +1,15 @@
+public abstract class ClassA {
+​
+  public int publicField;
+  protected int protectedField;
+  int packageField;
+  private int privateField;
+
+  void n(int parameter) {
+    int member;
+    {
+      int memberInBlock;
+    }
+  }
+​
+}
-- 
GitLab