    @Test
    @DisplayName("should transmit data to receivers")
    void transmitData() {

        final int[] called = new int[1];
        called[0] = 0;

        DataReceiver receiver1 = new DataReceiver() {
            int[] call = called;

            @Override
            public void dataReceived(String data) {
                call[0]++;
            }
        };
        DataReceiver receiver2 = new DataReceiver() {
            int[] call = called;

            @Override
            public void dataReceived(String data) {
                call[0]++;
            }
        };
        DataReceiver receiver3 = new DataReceiver() {
            int[] call = called;

            @Override
            public void dataReceived(String data) {
                call[0]++;
            }
        };

        comInstance.subscribe(Direction.INTERNAL, receiver1);
        comInstance.subscribe(Direction.INTERNAL, receiver2);
        comInstance.subscribe(Direction.INTERNAL, receiver3);

        // Act
        comInstance.transmitData(value, Direction.INTERNAL);

        // Asserts
        assertEquals(3, called[0]);
    }