1 52 53 package org.jivesoftware.smack.filter; 54 55 import junit.framework.TestCase; 56 import org.jivesoftware.smack.packet.*; 57 58 61 public class PacketTypeFilterTest extends TestCase { 62 63 private class Dummy {} 64 65 private class InnerClassDummy { 66 public class DummyPacket extends Packet { 67 public String toXML() { 68 return null; 69 } 70 } 71 public DummyPacket getInnerInstance() { 72 return new DummyPacket(); 73 } 74 } 75 76 private static class StaticInnerClassDummy { 77 public static class StaticDummyPacket extends Packet { 78 public String toXML() { 79 return null; 80 } 81 } 82 public static StaticDummyPacket getInnerInstance() { 83 return new StaticDummyPacket(); 84 } 85 } 86 87 90 public void testConstructor() { 91 try { 93 new PacketTypeFilter(Dummy.class); 94 fail("Parameter must be a subclass of Packet."); 95 } 96 catch (IllegalArgumentException e) {} 97 98 try { 100 new PacketTypeFilter(MockPacket.class); 101 } 102 catch (IllegalArgumentException e) { 103 fail(); 104 } 105 106 try { 108 new PacketTypeFilter(IQ.class); 109 } 110 catch (IllegalArgumentException e) { 111 fail(); 112 } 113 114 try { 116 new PacketTypeFilter(InnerClassDummy.DummyPacket.class); 117 } 118 catch (IllegalArgumentException e) { 119 fail(); 120 } 121 122 try { 124 new PacketTypeFilter(StaticInnerClassDummy.StaticDummyPacket.class); 125 } 126 catch (IllegalArgumentException e) { 127 fail(); 128 } 129 } 130 131 134 public void testAccept() { 135 Packet packet = new MockPacket(); 136 PacketTypeFilter filter = new PacketTypeFilter(MockPacket.class); 137 assertTrue(filter.accept(packet)); 138 139 packet = (new InnerClassDummy()).getInnerInstance(); 140 filter = new PacketTypeFilter(InnerClassDummy.DummyPacket.class); 141 assertTrue(filter.accept(packet)); 142 143 packet = StaticInnerClassDummy.getInnerInstance(); 144 filter = new PacketTypeFilter(StaticInnerClassDummy.StaticDummyPacket.class); 145 assertTrue(filter.accept(packet)); 146 } 147 } 148 | Popular Tags |