package net.ihe.xdrsrc.model;

import junit.framework.TestCase;
import net.ihe.gazelle.simulator.xdrsrc.model.XDRMessage;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class XDRMessageTest  extends TestCase {

	XDRMessage message ;
	
	
	 public XDRMessageTest(String name) {
        super(name);
    }

    @BeforeMethod
    protected void setUp() throws Exception {
        super.setUp();
        message = new XDRMessage();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    @Test
    public void testXDRMessageStringString() {
    	message.setDocumentUniqueId("1");
    	message.setMessageError(true);
    	message.setMessageType("2");
    	message.setPatientUniqueId("3");
    	
    	XDRMessage res = new XDRMessage(message);
    	
        assertEquals(res.getDocumentUniqueId(), "1");
        assertEquals(res.getIsMessageError(), true);
        assertEquals(res.getMessageType(), "2");
        assertEquals(res.getPatientUniqueId(), "3");
        
    }


    @Test
    public void testSetId() {
        Integer i = new Integer(1);
        message.setId(i);
        assertEquals(message.getId(), i);
    };
    
    @Test
    public void testSetDocumentUniqueId() {
        String i = new String("1");
        message.setDocumentUniqueId(i);
        assertEquals(message.getDocumentUniqueId(), i);
    };
    
    @Test
    public void testSetMessageType() {
        String i = new String("1");
        message.setMessageType(i);
        assertEquals(message.getMessageType(), i);
    };
    
    @Test
    public void testSetPatientUniqueId() {
        String i = new String("1");
        message.setPatientUniqueId(i);
        assertEquals(message.getPatientUniqueId(), i);
    };
	
    @Test
    public void testEqualsObject() {
    	XDRMessage message1 = new XDRMessage();
    	message1.setDocumentUniqueId("1");
    	message1.setMessageError(true);
    	message1.setMessageType("2");
    	message1.setPatientUniqueId("3");
    	
    	XDRMessage message2 = new XDRMessage();
    	message2.setDocumentUniqueId("1");
    	message2.setMessageError(true);
    	message2.setMessageType("2");
    	message2.setPatientUniqueId("3");
    	
      
		assertEquals(message1,message2);
    }
}
