@Test
public void testProcessDataDirectives() {

    List<Instruction> instructions = Arrays.asList(
            new Instruction(InstructionType.DIRECTIVE, null, null, null, null, null, "\t#data\t4", 1),
            new Instruction(InstructionType.INSTRUCTION, "alabel", Assembler.opcodes.get("ajw"), -10L, null, null, null, 2),
            new Instruction(InstructionType.DIRECTIVE, "anotherlabel", null, null, null, "a comment", "\t#data\t3", 3)
    );
    List<Instruction> processedInstructions = Assembler.processDataDirectives(instructions);
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 1),
            processedInstructions.get(0));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 1),
            processedInstructions.get(1));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 1),
            processedInstructions.get(2));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 1),
            processedInstructions.get(3));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, "alabel", Assembler.opcodes.get("ajw"), -10L, null, null, null, 2),
            processedInstructions.get(4));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, "anotherlabel", Assembler.opcodes.get("#empty"), 0L, null, "a comment", null, 3),
            processedInstructions.get(5));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 3),
            processedInstructions.get(6));
    checkInstructionEquality(
            new Instruction(InstructionType.INSTRUCTION, null, Assembler.opcodes.get("#empty"), 0L, null, null, null, 3),
            processedInstructions.get(7));
}