📄 fielddictionarytest.java
字号:
package com.thoughtworks.xstream.converters.reflection;import junit.framework.TestCase;import java.util.Iterator;import java.lang.reflect.Field;public class FieldDictionaryTest extends TestCase { private FieldDictionary fieldDictionary; protected void setUp() throws Exception { super.setUp(); fieldDictionary = new FieldDictionary(); } static class SomeClass { private String a; private String c; private String b; } public void testListsFieldsInClassInDefinitionOrder() { Iterator fields = fieldDictionary.serializableFieldsFor(SomeClass.class); assertEquals("a", ((Field)fields.next()).getName()); assertEquals("c", ((Field)fields.next()).getName()); assertEquals("b", ((Field)fields.next()).getName()); assertFalse("No more fields should be present", fields.hasNext()); } static class SpecialClass extends SomeClass { private String brilliant; } public void testIncludesFieldsInSuperClasses() { Iterator fields = fieldDictionary.serializableFieldsFor(SpecialClass.class); assertEquals("brilliant", ((Field)fields.next()).getName()); assertEquals("a", ((Field)fields.next()).getName()); assertEquals("c", ((Field)fields.next()).getName()); assertEquals("b", ((Field)fields.next()).getName()); assertFalse("No more fields should be present", fields.hasNext()); } class InnerClass { // note: no static makes this an inner class, not nested class. private String someThing; } public void testIncludesOuterClassReferenceForInnerClass() { Iterator fields = fieldDictionary.serializableFieldsFor(InnerClass.class); assertEquals("someThing", ((Field)fields.next()).getName()); Field innerField = ((Field)fields.next()); assertEquals("this$0", innerField.getName()); assertEquals(FieldDictionaryTest.class, innerField.getType()); assertFalse("No more fields should be present", fields.hasNext()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -