All Downloads are FREE. Search and download functionalities are using the official Maven repository.

Junit_tests.RFMDiagnosticMessageUnitTest Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2019, RF-Networks Ltd.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 
 * *  Redistributions of source code are not permitted.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of RF Networks Ltd. nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package Junit_tests;

import static org.junit.Assert.*;

import java.nio.charset.StandardCharsets;

import org.junit.Test;

import org.bitbucket.rfnetwork.rfppf.messages.MessageFactory;
import org.bitbucket.rfnetwork.rfppf.messages.rfm.RFMMessage;
import org.bitbucket.rfnetwork.rfppf.messages.rfm.diagnostic.*;

public class RFMDiagnosticMessageUnitTest {

	@Test
	public void TestEmptyDiagnosticMessage() {
		byte version = 1;
        byte message_num = 2;
        byte[] test_msg = new byte[] { (byte)0x96, version, 0x00, (byte)RFMMessage.MessageTypes.Diagnostic.getValue(), 0x02, (byte)0x6C, (byte)0xB8 };
        
        DiagnosticMessageBuilder builder = new DiagnosticMessageBuilder();
        builder.Version = version;
        builder.MessageType = RFMMessage.MessageTypes.Diagnostic;
        builder.MessageNumber = message_num;
        
        DiagnosticMessage msg = (DiagnosticMessage)MessageFactory.CreateMessage(DiagnosticMessage.class, builder);
        
        assertEquals(msg.getVersion(), version);
        assertEquals(msg.getMessageNumber(), message_num);
        assertEquals(msg.getMessageType(), RFMMessage.MessageTypes.Diagnostic);
        
        assertArrayEquals(msg.GetBytes(), test_msg);

        // Test message parsing
        msg = (DiagnosticMessage)MessageFactory.CreateMessage(DiagnosticMessage.class);
        msg.Parse(test_msg);

        assertArrayEquals(msg.GetBytes(), test_msg);
	}

	@Test
	public void TestDiagnosticMessage() {
		byte version = 1;
        byte message_num = 2;
        String message = "Test.";
        byte[] test_msg = new byte[] { (byte)0x96, version, 0x05, (byte)RFMMessage.MessageTypes.Diagnostic.getValue(), 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, (byte)0x87, (byte)0x8B };
        System.arraycopy(message.getBytes(StandardCharsets.US_ASCII), 0, test_msg, 5, message.length());
        
        DiagnosticMessageBuilder builder = new DiagnosticMessageBuilder();
        builder.Version = version;
        builder.MessageType = RFMMessage.MessageTypes.Diagnostic;
        builder.MessageNumber = message_num;
        builder.Message = message;
        
        DiagnosticMessage msg = (DiagnosticMessage)MessageFactory.CreateMessage(DiagnosticMessage.class, builder);
        
        assertEquals(msg.getVersion(), version);
        assertEquals(msg.getMessageNumber(), message_num);
        assertEquals(msg.getMessageType(), RFMMessage.MessageTypes.Diagnostic);
        assertEquals(msg.getMessage(), message);
        
        assertArrayEquals(msg.GetBytes(), test_msg);

        // Test message parsing
        msg = (DiagnosticMessage)MessageFactory.CreateMessage(DiagnosticMessage.class);
        msg.Parse(test_msg);

        assertArrayEquals(msg.GetBytes(), test_msg);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy