package com.github.devnied.emvnfccard.iso7816emv;
import org.fest.assertions.Assertions;
import org.junit.Test;
import fr.devnied.bitlib.BytesUtils;
public class EmvTerminalTest {
@Test
public void testTerminalCapability() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.ADDITIONAL_TERMINAL_CAPABILITIES, 1))).isEqualTo(
new byte[] { (byte) 0x8e });
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.ADDITIONAL_TERMINAL_CAPABILITIES, 2))).isEqualTo(
new byte[] { (byte) 0x8e, 0x00 });
}
@Test
public void testAmountAuthorized() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.AMOUNT_AUTHORISED_NUMERIC, 1))).isEqualTo(
new byte[] { (byte) 0x00 });
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.AMOUNT_AUTHORISED_NUMERIC, 2))).isEqualTo(
new byte[] { 0x00, 0x00 });
}
@Test
public void testTerminalCountryCode() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.TERMINAL_COUNTRY_CODE, 2))).isEqualTo(
new byte[] { 0x02, 0x50 });
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.TERMINAL_COUNTRY_CODE, 4))).isEqualTo(
new byte[] { 0x00, 0x00, 0x02, 0x50 });
}
@Test
public void testTerminalType() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.TERMINAL_TYPE, 1))).isEqualTo(new byte[] { 0x22 });
}
@Test
public void testTerminalCapabilities() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.TERMINAL_CAPABILITIES, 2))).isEqualTo(
new byte[] { (byte) 0xE0, (byte) 0xA0 });
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.TERMINAL_CAPABILITIES, 4))).isEqualTo(
new byte[] { (byte) 0xE0, (byte) 0xA0, 0, 0 });
}
@Test
public void test_DS_REQUESTED_OPERATOR_ID() {
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.DS_REQUESTED_OPERATOR_ID, 2))).isEqualTo(
BytesUtils.fromString("7345"));
Assertions.assertThat(EmvTerminal.constructValue(new TagAndLength(EmvTags.DS_REQUESTED_OPERATOR_ID, 8))).isEqualTo(
BytesUtils.fromString("7345123215904501"));
}
}