/* * This file is part of Applied Energistics 2. * Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved. * * Applied Energistics 2 is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Applied Energistics 2 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Applied Energistics 2. If not, see . */ package appeng.util.helpers; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import org.junit.Test; import appeng.api.util.AEColor; public class P2PHelperTest { private P2PHelper unitUnderTest = new P2PHelper(); private static final short WHITE_FREQUENCY = 0; private static final AEColor[] WHITE_COLORS = new AEColor[] { AEColor.WHITE, AEColor.WHITE, AEColor.WHITE, AEColor.WHITE }; private static final short BLACK_FREQUENCY = (short) 0xFFFF; private static final AEColor[] BLACK_COLORS = new AEColor[] { AEColor.BLACK, AEColor.BLACK, AEColor.BLACK, AEColor.BLACK }; private static final short MULTI_FREQUENCY = (short) 0xE8D1; private static final AEColor[] MULTI_COLORS = new AEColor[] { AEColor.RED, AEColor.LIGHT_GRAY, AEColor.GREEN, AEColor.ORANGE }; private static final String HEX_WHITE_FREQUENCY = "0000"; private static final String HEX_BLACK_FREQUENCY = "FFFF"; private static final String HEX_MULTI_FREQUENCY = "E8D1"; private static final String HEX_MIN_FREQUENCY = "8000"; private static final String HEX_MAX_FREQUENCY = "7FFF"; @Test public void testToColors() { assertArrayEquals( WHITE_COLORS, this.unitUnderTest.toColors( WHITE_FREQUENCY ) ); assertArrayEquals( BLACK_COLORS, this.unitUnderTest.toColors( BLACK_FREQUENCY ) ); assertArrayEquals( MULTI_COLORS, this.unitUnderTest.toColors( MULTI_FREQUENCY ) ); } @Test public void testFromColors() { assertEquals( WHITE_FREQUENCY, this.unitUnderTest.fromColors( WHITE_COLORS ) ); assertEquals( BLACK_FREQUENCY, this.unitUnderTest.fromColors( BLACK_COLORS ) ); assertEquals( MULTI_FREQUENCY, this.unitUnderTest.fromColors( MULTI_COLORS ) ); } @Test public void testToAndFromColors() { for( short i = Short.MIN_VALUE; i < Short.MAX_VALUE; i++ ) { assertEquals( i, this.unitUnderTest.fromColors( this.unitUnderTest.toColors( i ) ) ); } } @Test public void testToHexDigit() { assertEquals( "0", this.unitUnderTest.toHexDigit( AEColor.WHITE ) ); assertEquals( "1", this.unitUnderTest.toHexDigit( AEColor.ORANGE ) ); assertEquals( "2", this.unitUnderTest.toHexDigit( AEColor.MAGENTA ) ); assertEquals( "3", this.unitUnderTest.toHexDigit( AEColor.LIGHT_BLUE ) ); assertEquals( "4", this.unitUnderTest.toHexDigit( AEColor.YELLOW ) ); assertEquals( "5", this.unitUnderTest.toHexDigit( AEColor.LIME ) ); assertEquals( "6", this.unitUnderTest.toHexDigit( AEColor.PINK ) ); assertEquals( "7", this.unitUnderTest.toHexDigit( AEColor.GRAY ) ); assertEquals( "8", this.unitUnderTest.toHexDigit( AEColor.LIGHT_GRAY ) ); assertEquals( "9", this.unitUnderTest.toHexDigit( AEColor.CYAN ) ); assertEquals( "A", this.unitUnderTest.toHexDigit( AEColor.PURPLE ) ); assertEquals( "B", this.unitUnderTest.toHexDigit( AEColor.BLUE ) ); assertEquals( "C", this.unitUnderTest.toHexDigit( AEColor.BROWN ) ); assertEquals( "D", this.unitUnderTest.toHexDigit( AEColor.GREEN ) ); assertEquals( "E", this.unitUnderTest.toHexDigit( AEColor.RED ) ); assertEquals( "F", this.unitUnderTest.toHexDigit( AEColor.BLACK ) ); } @Test public void testToHexString() { assertEquals( HEX_WHITE_FREQUENCY, this.unitUnderTest.toHexString( WHITE_FREQUENCY ) ); assertEquals( HEX_BLACK_FREQUENCY, this.unitUnderTest.toHexString( BLACK_FREQUENCY ) ); assertEquals( HEX_MULTI_FREQUENCY, this.unitUnderTest.toHexString( MULTI_FREQUENCY ) ); assertEquals( HEX_MIN_FREQUENCY, this.unitUnderTest.toHexString( Short.MIN_VALUE ) ); assertEquals( HEX_MAX_FREQUENCY, this.unitUnderTest.toHexString( Short.MAX_VALUE ) ); } }