/*
* $Id$
* This file is a part of the Arakhne Foundation Classes, http://www.arakhne.org/afc
*
* Copyright (c) 2000-2012 Stephane GALLAND.
* Copyright (c) 2005-10, Multiagent Team, Laboratoire Systemes et Transports,
* Universite de Technologie de Belfort-Montbeliard.
* Copyright (c) 2013-2016 The original authors, and other authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.arakhne.afc.inputoutput.endian;
import static org.junit.Assert.*;
import static org.arakhne.afc.testtools.XbaseInlineTestUtil.*;
import org.junit.Test;
import org.arakhne.afc.testtools.AbstractTestCase;
@SuppressWarnings("all")
public final class EndianNumbersTest extends AbstractTestCase {
@Test
public void toBEShort() {
assertEquals(31688, EndianNumbers.toBEShort(123, 456));
}
@Test
public void toLEShort() {
assertEquals(-14213, EndianNumbers.toLEShort(123, 456));
}
@Test
public void toLEInt() {
assertEquals(-1625962373, EndianNumbers.toLEInt(123, 456, 789, 159));
}
@Test
public void toBEInt() {
assertEquals(2076710303, EndianNumbers.toBEInt(123, 456, 789, 159));
}
@Test
public void toLELong() {
assertEquals(754801260, EndianNumbers.toLELong(123, 456, 789, 159, 753, 145, 487, 653));
}
@Test
public void toBELong() {
assertEquals(1834614060, EndianNumbers.toBELong(123, 456, 789, 159, 753, 145, 487, 653));
}
@Test
public void toLEDouble() {
assertEpsilonEquals(0, EndianNumbers.toLEDouble(123, 456, 789, 159, 753, 145, 487, 653));
assertInlineParameterUsage(EndianNumbers.class, "toLEDouble", int.class, int.class, int.class, int.class, //$NON-NLS-1$
int.class, int.class, int.class, int.class);
}
@Test
public void toBEDouble() {
assertEpsilonEquals(0, EndianNumbers.toBEDouble(123, 456, 789, 159, 753, 145, 487, 653));
assertInlineParameterUsage(EndianNumbers.class, "toBEDouble", int.class, int.class, int.class, int.class, //$NON-NLS-1$
int.class, int.class, int.class, int.class);
}
@Test
public void toLEFloat() {
assertEpsilonEquals(0, EndianNumbers.toLEFloat(123, 456, 789, 159));
assertInlineParameterUsage(EndianNumbers.class, "toLEFloat", int.class, int.class, int.class, int.class); //$NON-NLS-1$
}
@Test
public void toBEFloat() {
assertEpsilonEquals(2.077795799172964e36, EndianNumbers.toBEFloat(123, 456, 789, 159));
assertInlineParameterUsage(EndianNumbers.class, "toBEFloat", int.class, int.class, int.class, int.class); //$NON-NLS-1$
}
@Test
public void parseLEShort() {
assertArrayEquals(new byte[]{64, -30}, EndianNumbers.parseLEShort((short) 123456));
}
@Test
public void parseLEInt() {
assertArrayEquals(new byte[]{21, -51, 91, 7}, EndianNumbers.parseLEInt(123456789));
}
@Test
public void parseLEFloat() {
assertArrayEquals(new byte[]{-51, -27, 64, 70}, EndianNumbers.parseLEFloat(12345.45f));
assertInlineParameterUsage(EndianNumbers.class, "parseLEFloat", float.class); //$NON-NLS-1$
}
@Test
public void parseLELong() {
assertArrayEquals(new byte[]{21, -51, 91, 7, 0, 0, 0, 0}, EndianNumbers.parseLELong(123456789));
}
@Test
public void parseLEDouble() {
assertArrayEquals(new byte[]{-113, -62, -43, 85, 52, 111, -99, 65}, EndianNumbers.parseLEDouble(123456789.45875));
assertInlineParameterUsage(EndianNumbers.class, "parseLEDouble", double.class); //$NON-NLS-1$
}
@Test
public void parseBEShort() {
assertArrayEquals(new byte[]{-30, 64}, EndianNumbers.parseBEShort((short) 123456));
}
@Test
public void parseBEInt() {
assertArrayEquals(new byte[]{7, 91, -51, 21}, EndianNumbers.parseBEInt(123456789));
}
@Test
public void parseBEFloat() {
assertArrayEquals(new byte[]{70, 64, -27, -51}, EndianNumbers.parseBEFloat(12345.45f));
assertInlineParameterUsage(EndianNumbers.class, "parseBEFloat", float.class); //$NON-NLS-1$
}
@Test
public void parseBELong() {
assertArrayEquals(new byte[]{0, 0, 0, 0, 7, 91, -51, 21}, EndianNumbers.parseBELong(123456789));
}
@Test
public void parseBEDouble() {
assertArrayEquals(new byte[]{65, -99, 111, 52, 85, -43, -62, -113}, EndianNumbers.parseBEDouble(123456789.45875));
assertInlineParameterUsage(EndianNumbers.class, "parseBEDouble", double.class); //$NON-NLS-1$
}
}