Package javaflow.utils

Source Code of javaflow.utils.PacketFormatterTest

package javaflow.utils;

import javaflow.components.api.Packet;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import static org.mockito.Mockito.*;
public class PacketFormatterTest {

    PacketFormatter formatter;
    @BeforeMethod
    public void setUp(){
        formatter = new PacketFormatter();
    }

    @Test
    public void contentAndIdIsIncluded(){
        Packet p = createPacket(1123l, "content abcd1234");
        when(p.getType()).thenReturn(Packet.PacketType.NORMAL);
        String result = formatter.format(p);
        Assert.assertTrue(result.contains("#1123: content abcd1234"),result);
    }

    private Packet createPacket() {
        return createPacket(1,"content");
    }
    private Packet createPacket(long id, Object content) {
        Packet packet = mock(Packet.class);
        when(packet.getId()).thenReturn(id);
        when(packet.getType()).thenReturn(Packet.PacketType.NORMAL);
        when(packet.getContent()).thenReturn(content);
        return packet;
    }


    @Test
    public void messageTypeIsIncluded(){
        PacketFormatter formatter = new PacketFormatter();
        Packet startPacket = createPacket();
        Packet endPacket = createPacket();
        beStart(startPacket);
        beEnd(endPacket);
        String startResult = formatter.format(startPacket);
        String endResult = formatter.format(endPacket);
        Assert.assertTrue(startResult.contains("START"),startResult);
        Assert.assertTrue(endResult.contains("END"),endResult);
    }

    private void beEnd(Packet endPacket) {
        when(endPacket.getType()).thenReturn(Packet.PacketType.END);
    }

    private void beStart(Packet startPacket) {
        when(startPacket.getType()).thenReturn(Packet.PacketType.START);
    }


    @Test
    public void messageMetadataIsIncluded(){
        PacketFormatter formatter = new PacketFormatter();
        Packet p = createPacket();
        when(p.getMetadataKeys()).thenReturn(Arrays.asList("a","b"));
        when(p.getMetadata("a")).thenReturn("1");
        when(p.getMetadata("b")).thenReturn(2);
        when(p.getType()).thenReturn(Packet.PacketType.NORMAL);
        String result = formatter.format(p);
        Assert.assertTrue(result.contains("{a:1, b:2}"),result);
    }

    @Test
    public void chainIsIncluded(){
        List<Packet<?>> chain = new ArrayList<>();
        Packet p = createPacket();
        Packet c1 = createPacket();
        chain.add(c1);

        when(c1.getId()).thenReturn(12l);
        when(c1.getContent()).thenReturn("content");

        when(p.getId()).thenReturn(3l);
        when(p.getContent()).thenReturn("abcd");
        when(p.getType()).thenReturn(Packet.PacketType.NORMAL);

        when(p.isTree()).thenReturn(true);
        when(p.iterator()).thenReturn(chain.iterator());

        String result = formatter.format(p);

        Assert.assertTrue(result.contains("#3: abcd"),result);
        Assert.assertTrue(result.contains("  #12: content"),result);
    }


}
TOP

Related Classes of javaflow.utils.PacketFormatterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.