From 0d48d4c597a4805c5b7c4efa88704923b559bbb5 Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Tue, 2 May 2017 14:51:40 -0400 Subject: [PATCH 1/7] gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 32858aa..79c5951 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *.class - +.idea/ # Mobile Tools for Java (J2ME) .mtj.tmp/ From 695b36c9e94abe4514eefb9e5d2c6afab2dcf5b8 Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Tue, 2 May 2017 15:02:11 -0400 Subject: [PATCH 2/7] setup --- TypeInformation.iml | 15 +++++++++++++++ pom.xml | 19 +++++++++++++++++++ src/test/java/InstructionTest.java | 5 +++++ src/test/java/UnitCornTest.java | 5 +++++ 4 files changed, 44 insertions(+) create mode 100644 TypeInformation.iml create mode 100644 pom.xml create mode 100644 src/test/java/InstructionTest.java create mode 100644 src/test/java/UnitCornTest.java diff --git a/TypeInformation.iml b/TypeInformation.iml new file mode 100644 index 0000000..8d8ffd9 --- /dev/null +++ b/TypeInformation.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e38513d --- /dev/null +++ b/pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + + banuelos.aurora + TypeInformation + 1.0-SNAPSHOT + + + + junit + junit + 4.12 + + + + \ No newline at end of file diff --git a/src/test/java/InstructionTest.java b/src/test/java/InstructionTest.java new file mode 100644 index 0000000..a3506c4 --- /dev/null +++ b/src/test/java/InstructionTest.java @@ -0,0 +1,5 @@ +/** + * Created by aurorabanuelos on 5/2/17. + */ +public class InstructionTest { +} diff --git a/src/test/java/UnitCornTest.java b/src/test/java/UnitCornTest.java new file mode 100644 index 0000000..5bd7969 --- /dev/null +++ b/src/test/java/UnitCornTest.java @@ -0,0 +1,5 @@ +/** + * Created by aurorabanuelos on 5/2/17. + */ +public class UnitCornTest { +} From 0fb94b40f355898c1a72274028d582ff35d7f8ea Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Thu, 4 May 2017 18:11:15 -0400 Subject: [PATCH 3/7] test1 part1 --- TypeInformation.iml | 2 ++ pom.xml | 5 ++++ src/main/java/Part1.java | 25 ++++++++++++++++++ src/test/java/InstructionTest.java | 5 ---- src/test/java/Part1Test.java | 42 ++++++++++++++++++++++++++++++ src/test/java/UnitCornTest.java | 5 ---- 6 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 src/main/java/Part1.java delete mode 100644 src/test/java/InstructionTest.java create mode 100644 src/test/java/Part1Test.java delete mode 100644 src/test/java/UnitCornTest.java diff --git a/TypeInformation.iml b/TypeInformation.iml index 8d8ffd9..9c26698 100644 --- a/TypeInformation.iml +++ b/TypeInformation.iml @@ -11,5 +11,7 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index e38513d..a419514 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,11 @@ junit 4.12 + + junit + junit + 4.12 + \ No newline at end of file diff --git a/src/main/java/Part1.java b/src/main/java/Part1.java new file mode 100644 index 0000000..c0d0aec --- /dev/null +++ b/src/main/java/Part1.java @@ -0,0 +1,25 @@ +import java.util.ArrayList; +import java.util.Comparator; + +/** + * Created by aurorabanuelos on 5/4/17. + */ +public class Part1 { + + ArrayList interlist = new ArrayList(); + + + public boolean classImplementsInterface(Object cl, String s) { + + String testInter = cl.getClass().getInterfaces()[0].getSimpleName(); + + if(testInter.equals(s)){ + return true; + + }else{ + + return false; + } + + } +} \ No newline at end of file diff --git a/src/test/java/InstructionTest.java b/src/test/java/InstructionTest.java deleted file mode 100644 index a3506c4..0000000 --- a/src/test/java/InstructionTest.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Created by aurorabanuelos on 5/2/17. - */ -public class InstructionTest { -} diff --git a/src/test/java/Part1Test.java b/src/test/java/Part1Test.java new file mode 100644 index 0000000..cd762f9 --- /dev/null +++ b/src/test/java/Part1Test.java @@ -0,0 +1,42 @@ +import com.sun.org.apache.xpath.internal.operations.Bool; +import org.junit.Assert; +import org.junit.Test; + +import java.io.Serializable; +import java.text.Collator; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Currency; +import java.util.List; + +/** + * Created by aurorabanuelos on 5/4/17. + */ +public class Part1Test { + + @Test + public void classImplementsInterface(){ + //Given + Part1 part1 = new Part1(); + Class cl = ArrayList.class; + String inter = Serializable.class.getSimpleName(); + + + //When + boolean actual = part1.classImplementsInterface(cl, inter); + + //Then + Assert.assertEquals(true, actual); + } + + @Test + public void listAllMembersTest(){ + //Given + Part1 part1 = new Part1(); + Class cl = ArrayList.class; + + String expectedResult = + + } + +} diff --git a/src/test/java/UnitCornTest.java b/src/test/java/UnitCornTest.java deleted file mode 100644 index 5bd7969..0000000 --- a/src/test/java/UnitCornTest.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Created by aurorabanuelos on 5/2/17. - */ -public class UnitCornTest { -} From 4124ac1a0dd1cdc4c1ffc63467179d66dc8b11db Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Thu, 4 May 2017 22:30:41 -0400 Subject: [PATCH 4/7] reworked class implements interface --- src/main/java/Part1.java | 22 ++++++++++------------ src/test/java/Part1Test.java | 32 +++++++++++++++++++------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/main/java/Part1.java b/src/main/java/Part1.java index c0d0aec..684e475 100644 --- a/src/main/java/Part1.java +++ b/src/main/java/Part1.java @@ -1,25 +1,23 @@ -import java.util.ArrayList; -import java.util.Comparator; - /** * Created by aurorabanuelos on 5/4/17. */ public class Part1 { - ArrayList interlist = new ArrayList(); - + boolean x; - public boolean classImplementsInterface(Object cl, String s) { + public boolean classImplementsInterface(Class cls, Class inter) { - String testInter = cl.getClass().getInterfaces()[0].getSimpleName(); + Class[] interfaceList = cls.getInterfaces(); - if(testInter.equals(s)){ - return true; + for (Class e : interfaceList) + if (e.equals(inter)) { + x = true; + } else { + x = false; + } - }else{ + return x; - return false; - } } } \ No newline at end of file diff --git a/src/test/java/Part1Test.java b/src/test/java/Part1Test.java index cd762f9..82cb051 100644 --- a/src/test/java/Part1Test.java +++ b/src/test/java/Part1Test.java @@ -16,27 +16,33 @@ public class Part1Test { @Test public void classImplementsInterface(){ + //Given Part1 part1 = new Part1(); - Class cl = ArrayList.class; - String inter = Serializable.class.getSimpleName(); - + Class cls = ArrayList.class; + Class inter = Serializable.class; //When - boolean actual = part1.classImplementsInterface(cl, inter); + boolean actual = part1.classImplementsInterface(cls, inter); //Then Assert.assertEquals(true, actual); } - @Test - public void listAllMembersTest(){ - //Given - Part1 part1 = new Part1(); - Class cl = ArrayList.class; - - String expectedResult = - - } +// @Test +// public void listAllMembersTest(){ +// //Given +// Part1 part1 = new Part1(); +// Class cls = ArrayList.class; +// +// String expectedResult = " "; +// +// //When +// String actualResult = part1.listAllMembers(); +// +// //Then +// Assert.assertEquals(expectedResult, actualResult); +// +// } } From a324c71c24f8dac36ccc01e92e3a1bda9969d815 Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Thu, 4 May 2017 22:34:09 -0400 Subject: [PATCH 5/7] commented second test --- src/test/java/Part1Test.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/java/Part1Test.java b/src/test/java/Part1Test.java index 82cb051..914e0ee 100644 --- a/src/test/java/Part1Test.java +++ b/src/test/java/Part1Test.java @@ -3,11 +3,8 @@ import org.junit.Test; import java.io.Serializable; -import java.text.Collator; import java.util.ArrayList; -import java.util.Comparator; -import java.util.Currency; -import java.util.List; + /** * Created by aurorabanuelos on 5/4/17. @@ -31,6 +28,7 @@ public void classImplementsInterface(){ // @Test // public void listAllMembersTest(){ +// // //Given // Part1 part1 = new Part1(); // Class cls = ArrayList.class; From 2217b7c02fb00289d1cf70639ab774582be303fd Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Sat, 6 May 2017 13:50:38 -0400 Subject: [PATCH 6/7] added getclasshierarchy --- src/main/java/Main.java | 17 +++++++++++++++++ src/main/java/Part1.java | 25 +++++++++++++++++++++++++ src/test/java/Part1Test.java | 17 +++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 src/main/java/Main.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..d2c81ce --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,17 @@ +import java.io.Serializable; +import java.lang.reflect.Array; +import java.util.ArrayList; + +/** + * Created by aurorabanuelos on 5/5/17. + */ +public class Main { + + public static void main(String[] args) { + Part1 tst = new Part1(); + + System.out.println(tst.classImplementsInterface(ArrayList.class, Serializable.class)); + + tst.getClassHierarchy(ArrayList.class); + } +} diff --git a/src/main/java/Part1.java b/src/main/java/Part1.java index 684e475..ffc118b 100644 --- a/src/main/java/Part1.java +++ b/src/main/java/Part1.java @@ -1,3 +1,6 @@ +import java.util.ArrayList; +import java.util.Collections; + /** * Created by aurorabanuelos on 5/4/17. */ @@ -5,6 +8,7 @@ public class Part1 { boolean x; + public boolean classImplementsInterface(Class cls, Class inter) { Class[] interfaceList = cls.getInterfaces(); @@ -20,4 +24,25 @@ public boolean classImplementsInterface(Class cls, Class inter) { } + + public String getClassHierarchy(Class cls) { + + ArrayList supercls = new ArrayList(); + + Class superClass = cls.getSuperclass(); + while (superClass != null) { + supercls.add(superClass.getName()); + superClass = superClass.getSuperclass(); + } + + Collections.reverse(supercls); + + for(Object e: supercls) { + System.out.printf("\n %s", e); + } + + return supercls.toString(); + + } + } \ No newline at end of file diff --git a/src/test/java/Part1Test.java b/src/test/java/Part1Test.java index 914e0ee..28c5cf5 100644 --- a/src/test/java/Part1Test.java +++ b/src/test/java/Part1Test.java @@ -2,7 +2,10 @@ import org.junit.Assert; import org.junit.Test; +import java.io.PrintStream; import java.io.Serializable; +import java.lang.reflect.Array; +import java.util.AbstractCollection; import java.util.ArrayList; @@ -26,6 +29,20 @@ public void classImplementsInterface(){ Assert.assertEquals(true, actual); } + @Test + public void getClassHierarchyTest() { + //Given + Part1 part1 = new Part1(); + Class cls = AbstractCollection.class; + + //When + String actual = part1.getClassHierarchy(cls); + + //Then + Assert.assertEquals("[java.lang.Object]", actual); + + } + // @Test // public void listAllMembersTest(){ // From 2ce6b6c9404a06bdc68736e3194859db9fa440d2 Mon Sep 17 00:00:00 2001 From: Aurora Banuelos Date: Sat, 6 May 2017 16:31:34 -0400 Subject: [PATCH 7/7] added listAllMembers --- src/main/java/Main.java | 4 ++++ src/main/java/Part1.java | 31 ++++++++++++++++++++++++++++++- src/test/java/Part1Test.java | 31 ++++++++++++++----------------- 3 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index d2c81ce..fff3afc 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,8 @@ import java.io.Serializable; import java.lang.reflect.Array; +import java.util.AbstractCollection; import java.util.ArrayList; +import java.util.Collections; /** * Created by aurorabanuelos on 5/5/17. @@ -13,5 +15,7 @@ public static void main(String[] args) { System.out.println(tst.classImplementsInterface(ArrayList.class, Serializable.class)); tst.getClassHierarchy(ArrayList.class); + + tst.listAllMembers(ArrayList.class); } } diff --git a/src/main/java/Part1.java b/src/main/java/Part1.java index ffc118b..b85ac0f 100644 --- a/src/main/java/Part1.java +++ b/src/main/java/Part1.java @@ -1,10 +1,13 @@ +import java.lang.reflect.*; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; /** * Created by aurorabanuelos on 5/4/17. */ -public class Part1 { +public class Part1{ boolean x; @@ -45,4 +48,30 @@ public String getClassHierarchy(Class cls) { } + public String listAllMembers(Class cls){ + Constructor [] ctors = cls.getDeclaredConstructors(); + Field[] flds = cls.getDeclaredFields(); + Method[] mthds = cls.getDeclaredMethods(); + + ArrayList members = new ArrayList(); + + for (Field f: flds){ + members.add(cls + " " + Modifier.toString(f.getModifiers()) + " Field: " + f.getName() ); + } + + for (Constructor c: ctors){ + members.add(cls + " " + Modifier.toString(c.getModifiers()) + " Constructor: " + c.getName() ); + } + + for (Method m: mthds){ + members.add(cls + " " + Modifier.toString(m.getModifiers()) + " Method: " + m.getName() ); + } + + for(Object e: members) { + System.out.println(e); + } + + return members.toString(); + + } } \ No newline at end of file diff --git a/src/test/java/Part1Test.java b/src/test/java/Part1Test.java index 28c5cf5..8b5649a 100644 --- a/src/test/java/Part1Test.java +++ b/src/test/java/Part1Test.java @@ -2,7 +2,6 @@ import org.junit.Assert; import org.junit.Test; -import java.io.PrintStream; import java.io.Serializable; import java.lang.reflect.Array; import java.util.AbstractCollection; @@ -43,21 +42,19 @@ public void getClassHierarchyTest() { } -// @Test -// public void listAllMembersTest(){ -// -// //Given -// Part1 part1 = new Part1(); -// Class cls = ArrayList.class; -// -// String expectedResult = " "; -// -// //When -// String actualResult = part1.listAllMembers(); -// -// //Then -// Assert.assertEquals(expectedResult, actualResult); -// -// } + @Test + public void listAllMembersTest(){ + + //Given + Part1 part1 = new Part1(); + Class cls = Object.class; + + //When + String actualResult = part1.listAllMembers(cls); + + //Then + Assert.assertEquals("", actualResult); + + } }