1 // -*- Java -*- 2 // 3 // Copyright (c) 2005, Matthew J. Rutherford <rutherfo@cs.colorado.edu> 4 // Copyright (c) 2005, University of Colorado at Boulder 5 // All rights reserved. 6 // 7 // Redistribution and use in source and binary forms, with or without 8 // modification, are permitted provided that the following conditions are 9 // met: 10 // 11 // * Redistributions of source code must retain the above copyright 12 // notice, this list of conditions and the following disclaimer. 13 // 14 // * Redistributions in binary form must reproduce the above copyright 15 // notice, this list of conditions and the following disclaimer in the 16 // documentation and/or other materials provided with the distribution. 17 // 18 // * Neither the name of the University of Colorado at Boulder nor the 19 // names of its contributors may be used to endorse or promote 20 // products derived from this software without specific prior written 21 // permission. 22 // 23 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 // 35 package org.xbill.DNS; 36 37 import junit.framework.TestCase; 38 39 public class OpcodeTest extends TestCase 40 { test_string()41 public void test_string() 42 { 43 // a regular one 44 assertEquals("IQUERY", Opcode.string(Opcode.IQUERY)); 45 46 // one that doesn't exist 47 assertTrue(Opcode.string(6).startsWith("RESERVED")); 48 49 try { 50 Opcode.string(-1); 51 fail("IllegalArgumentException not thrown"); 52 } 53 catch( IllegalArgumentException e ){ 54 } 55 56 // (max is 0xF) 57 try { 58 Opcode.string(0x10); 59 fail("IllegalArgumentException not thrown"); 60 } 61 catch( IllegalArgumentException e ){ 62 } 63 } 64 test_value()65 public void test_value() 66 { 67 // regular one 68 assertEquals(Opcode.STATUS, Opcode.value("STATUS")); 69 70 // one thats undefined but within range 71 assertEquals(6, Opcode.value("RESERVED6")); 72 73 // one thats undefined but out of range 74 assertEquals(-1, Opcode.value("RESERVED" + 0x10)); 75 76 // something that unknown 77 assertEquals(-1, Opcode.value("THIS IS DEFINITELY UNKNOWN")); 78 79 // empty string 80 assertEquals(-1, Opcode.value("")); 81 } 82 } 83