package heartbeat_test

import (
	"log"
	"primesys_producer/src/logger"
	"primesys_producer/src/protocol/heartbeat"
	"primesys_producer/src/server/frame"
	"primesys_producer/src/utils"
	"testing"
)

var heartFrame frame.Frame = frame.Frame{
	Raw: utils.DecodeStringToByte("78781136402E030002004104000000070002EA270D0A"),
}

func TestHeartBeatDecodingAndEncodingAck(t *testing.T) {

	serialGot, err := heartbeat.DecodeHeartBeatSerial(heartFrame)

	if err != nil {
		log.Println("Error in parsing heartbeat", err)
	}

	log.Println("Parsed Serial Number : ", serialGot.SerialNumber)
	ack := heartbeat.EncodeSerialACK(serialGot.SerialNumber, heartFrame.ProtocolNumber(), 12)

	logger.Info("Ack Packet: ")
	for _, b := range ack {
		log.Printf("ACK:  %02X", b)
	}

}
