/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.modifiablevariable.singlebyte;
import de.rub.nds.tlsattacker.modifiablevariable.VariableModification;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotSame;
import org.junit.Before;
import org.junit.Test;
/**
*
* @author Florian Pfützenreuter
*/
public class ByteModificationTest {
private ModifiableByte start;
private Byte expectedResult, result;
public ByteModificationTest() {
}
@Before
public void setUp() {
start = new ModifiableByte();
start.setOriginalValue(new Byte("10"));
expectedResult = null;
result = null;
}
/**
* Test of add method, of class ByteModificationFactory.
*/
@Test
public void testAdd() {
VariableModification<Byte> modifier = ByteModificationFactory.add(new Byte("1"));
start.setModification(modifier);
expectedResult = new Byte("11");
result = start.getValue();
assertEquals(expectedResult, result);
assertNotSame(expectedResult, result);
assertEquals(new Byte("10"), start.getOriginalValue());
}
/**
* Test of sub method, of class ByteModificationFactory.
*/
@Test
public void testSub() {
VariableModification<Byte> modifier = ByteModificationFactory.sub(new Byte("1"));
start.setModification(modifier);
expectedResult = new Byte("9");
result = start.getValue();
assertEquals(expectedResult, result);
assertNotSame(expectedResult, result);
assertEquals(new Byte("10"), start.getOriginalValue());
}
/**
* Test of xor method, of class ByteModificationFactory.
*/
@Test
public void testXor() {
VariableModification<Byte> modifier = ByteModificationFactory.xor(new Byte("2"));
start.setModification(modifier);
expectedResult = new Byte("8");
result = start.getValue();
assertEquals(expectedResult, result);
assertNotSame(expectedResult, result);
assertEquals(new Byte("10"), start.getOriginalValue());
}
/**
* Test of explicitValue method, of class ByteModificationFactory.
*/
@Test
public void testExplicitValue() {
VariableModification<Byte> modifier = ByteModificationFactory.explicitValue(new Byte("7"));
start.setModification(modifier);
expectedResult = new Byte("7");
result = start.getValue();
assertEquals(expectedResult, result);
assertNotSame(expectedResult, result);
assertEquals(new Byte("10"), start.getOriginalValue());
}
/**
* Test of explicitValue from file method
*/
@Test
public void testExplicitValueFromFile() {
VariableModification<Byte> modifier = ByteModificationFactory.explicitValueFromFile(0);
start.setModification(modifier);
expectedResult = -128;
result = start.getValue();
assertEquals(expectedResult, result);
modifier = ByteModificationFactory.explicitValueFromFile(1);
start.setModification(modifier);
expectedResult = -1;
result = start.getValue();
assertEquals(expectedResult, result);
}
}