/*
* Copyright 2014-2016 CyberVision, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kaaproject.kaa.server.sync;
import nl.jqno.equalsverifier.EqualsVerifier;
import nl.jqno.equalsverifier.Warning;
import org.junit.Assert;
import org.junit.Test;
import java.nio.ByteBuffer;
public class SyncEqualsHashCodeTest {
@Test
public void logEntryEqualsHashCodeTest() {
LogEntry entry1 = getLogEntry(10);
LogEntry entry2 = getLogEntry(9);
Object[] entries = new Object[]{getLogEntry(8)};
EqualsVerifier.forExamples(entry1, entry2, entries).verify();
}
@Test
public void topicStateEqualsHashCodeTest() {
EqualsVerifier.forClass(TopicState.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void clientSyncMetaDataEqualsHashCodeTest() {
ClientSyncMetaData clientSyncMetaData1 = new ClientSyncMetaData("token1", null, null, null, 10L);
ClientSyncMetaData clientSyncMetaData2 = new ClientSyncMetaData("token1", null, null, null, 10L);
ClientSyncMetaData clientSyncMetaData3 = new ClientSyncMetaData("token3", null, null, null, 12L);
Assert.assertEquals(clientSyncMetaData1, clientSyncMetaData1);
Assert.assertNotEquals(clientSyncMetaData1, clientSyncMetaData3);
Assert.assertNotEquals(clientSyncMetaData1, null);
Assert.assertNotEquals(null, clientSyncMetaData1);
Assert.assertEquals(clientSyncMetaData1, clientSyncMetaData2);
Assert.assertNotEquals(clientSyncMetaData1, new Object());
Assert.assertEquals(clientSyncMetaData1.hashCode(), clientSyncMetaData2.hashCode());
Assert.assertEquals(clientSyncMetaData1.hashCode(), clientSyncMetaData1.hashCode());
Assert.assertNotEquals(clientSyncMetaData1.hashCode(), clientSyncMetaData3.hashCode());
}
@Test
public void logClientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(LogClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventListenersResponseEqualsHashCodeTest() {
EqualsVerifier.forClass(EventListenersResponse.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void notificationEqualsHashCodeTest() {
EqualsVerifier.forClass(Notification.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventSequenceNumberResponseEqualsHashCodeTest() {
EqualsVerifier.forClass(EventSequenceNumberResponse.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventEqualsHashCodeTest() {
EqualsVerifier.forClass(Event.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventListenersRequestEqualsHashCodeTest() {
EqualsVerifier.forClass(EventListenersRequest.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void endpointAttachRequestEqualsHashCodeTest() {
EqualsVerifier.forClass(EndpointAttachRequest.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void endpointDetachRequestEqualsHashCodeTest() {
EqualsVerifier.forClass(EndpointDetachRequest.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userClientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(UserClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userAttachRequestEqualsHashCodeTest() {
EqualsVerifier.forClass(UserAttachRequest.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void topicEqualsHashCodeTest() {
EqualsVerifier.forClass(Topic.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void subscriptionCommandEqualsHashCodeTest() {
EqualsVerifier.forClass(SubscriptionCommand.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventClientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(EventClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void notificationClientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(NotificationClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void configurationClientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(ConfigurationClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void profileClientSyncEqualsHashCodeTest() {
ProfileClientSync profileClientSync1 = new ProfileClientSync(null, null, null, "token1");
ProfileClientSync profileClientSync2 = new ProfileClientSync(null, null, null, "token1");
ProfileClientSync profileClientSync3 = new ProfileClientSync(null, null, null, "token3");
Assert.assertEquals(profileClientSync1, profileClientSync1);
Assert.assertEquals(profileClientSync1, profileClientSync2);
Assert.assertNotEquals(profileClientSync1, null);
Assert.assertNotEquals(null, profileClientSync1);
Assert.assertNotEquals(profileClientSync1, profileClientSync3);
Assert.assertNotEquals(profileClientSync1, new Object());
Assert.assertEquals(profileClientSync1.hashCode(), profileClientSync2.hashCode());
Assert.assertEquals(profileClientSync1.hashCode(), profileClientSync1.hashCode());
Assert.assertNotEquals(profileClientSync1.hashCode(), profileClientSync3.hashCode());
}
@Test
public void clientSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(ClientSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userAttachNotificationEqualsHashCodeTest() {
EqualsVerifier.forClass(UserAttachNotification.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void endpointAttachResponseEqualsHashCodeTest() {
EqualsVerifier.forClass(EndpointAttachResponse.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void redirectServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(RedirectServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userAttachResponseEqualsHashCodeTest() {
EqualsVerifier.forClass(UserAttachResponse.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void logServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(LogServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userDetachNotificationEqualsHashCodeTest() {
EqualsVerifier.forClass(UserDetachNotification.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void logDeliveryStatusEqualsHashCodeTest() {
EqualsVerifier.forClass(LogDeliveryStatus.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void userServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(UserServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void endpointDetachResponseEqualsHashCodeTest() {
EqualsVerifier.forClass(EndpointDetachResponse.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void profileServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(ProfileServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void notificationServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(NotificationServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void configurationServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(ConfigurationServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void serverSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(ServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
@Test
public void eventServerSyncEqualsHashCodeTest() {
EqualsVerifier.forClass(EventServerSync.class).suppress(Warning.NONFINAL_FIELDS).verify();
}
private LogEntry getLogEntry(int buffSize) {
return new LogEntry(ByteBuffer.allocate(buffSize));
}
}