2 * Copyright (c) 2017 Inocybe Technologies and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.cluster.raft.messages;
10 import static org.junit.Assert.assertEquals;
12 import org.apache.commons.lang.SerializationUtils;
13 import org.junit.Test;
16 * Unit tests for RequestVote.
18 * @author Thomas Pantelis
20 public class RequestVoteTest {
22 public void testSerialization() {
23 final var expected = new RequestVote(4, "candidateId", 3, 2);
24 final var bytes = SerializationUtils.serialize(expected);
25 assertEquals(131, bytes.length);
26 final var cloned = (RequestVote) SerializationUtils.deserialize(bytes);
28 assertEquals("getTerm", expected.getTerm(), cloned.getTerm());
29 assertEquals("getCandidateId", expected.getCandidateId(), cloned.getCandidateId());
30 assertEquals("getLastLogIndex", expected.getLastLogIndex(), cloned.getLastLogIndex());
31 assertEquals("getLastLogTerm", expected.getLastLogTerm(), cloned.getLastLogTerm());