This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/master by this push: new 093de00 added missing toString()/hashCode()/equals() 093de00 is described below commit 093de0007efd9a90c65cc12c880b270ad4df0a52 Author: Sebastian Rühl <sru...@apache.org> AuthorDate: Thu Aug 9 17:08:15 2018 +0200 added missing toString()/hashCode()/equals() --- .../plc4x/java/api/messages/PlcReadRequest.java | 8 ++- .../plc4x/java/api/messages/PlcReadResponse.java | 9 ++- .../java/api/messages/PlcSubscriptionEvent.java | 24 +++++++ .../java/api/messages/PlcSubscriptionRequest.java | 4 ++ .../java/api/messages/PlcSubscriptionResponse.java | 4 ++ .../api/messages/PlcUnsubscriptionRequest.java | 23 +++++++ .../api/messages/PlcUnsubscriptionResponse.java | 4 ++ .../plc4x/java/api/messages/PlcWriteRequest.java | 5 ++ .../plc4x/java/api/messages/PlcWriteResponse.java | 5 ++ .../java/api/messages/items/ReadRequestItem.java | 7 ++ .../java/api/messages/items/ReadResponseItem.java | 7 ++ .../api/messages/items/SubscriptionEventItem.java | 28 ++++++++ .../SubscriptionRequestChangeOfStateItem.java | 4 ++ .../items/SubscriptionRequestEventItem.java | 4 ++ .../java/api/messages/items/WriteRequestItem.java | 7 ++ .../java/api/messages/items/WriteResponseItem.java | 4 ++ .../messages/specific/TypeSafePlcReadRequest.java | 7 ++ .../messages/specific/TypeSafePlcReadResponse.java | 5 ++ .../messages/specific/TypeSafePlcWriteRequest.java | 7 ++ .../specific/TypeSafePlcWriteResponse.java | 5 ++ .../plc4x/java/api/messages/APIMessageTests.java | 15 ++++ ...nseTest.java => PlcProprietaryRequestTest.java} | 33 +++++---- .../api/messages/PlcProprietaryResponseTest.java | 53 ++++++++++++++ .../java/api/messages/PlcReadRequestTest.java | 2 +- .../java/api/messages/PlcReadResponseTest.java | 2 +- .../java/api/messages/PlcRequestContainerTest.java | 80 ++++++++++++++++++++++ .../plc4x/java/api/messages/PlcRequestTest.java | 10 +++ .../plc4x/java/api/messages/PlcResponseTest.java | 20 ++++-- .../api/messages/PlcSubscriptionEventTest.java | 59 ++++++++++++++++ .../api/messages/PlcSubscriptionRequestTest.java} | 16 ++--- .../api/messages/PlcSubscriptionResponseTest.java} | 21 ++++-- ...Test.java => PlcUnsubscriptionRequestTest.java} | 63 ++++++----------- .../messages/PlcUnsubscriptionResponseTest.java} | 17 +++-- .../java/api/messages/PlcWriteRequestTest.java | 4 ++ .../java/api/messages/PlcWriteResponseTest.java | 6 +- 35 files changed, 478 insertions(+), 94 deletions(-) diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java index a190e5d..aabcbcc 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadRequest.java @@ -28,11 +28,11 @@ import java.util.Objects; /** * Request to read one or more values from a plc. * The {@link PlcReadRequest} is a container for one or more {@link ReadRequestItem}s that are contained. - * + * <p> * By default this is NOT typesafe as it can contain {@link ReadRequestItem}s for different types. * If there are only {@link ReadRequestItem}s of the same type one can use the {@link TypeSafePlcReadRequest} to enforce * type safety. - * + * <p> * Provides a builder for object construction through {@link PlcReadRequest#builder()}. * * @see TypeSafePlcReadRequest @@ -114,5 +114,9 @@ public class PlcReadRequest extends PlcRequest<ReadRequestItem<?>> { } + @Override + public String toString() { + return "PlcReadRequest{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java index 136f478..8d3d298 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcReadResponse.java @@ -28,9 +28,9 @@ import java.util.Optional; /** * Response to a {@link PlcReadRequest}. * Contains the values read from the PLC but untyped. - * + * <p> * Values are extracted using the {@link ReadRequestItem}s that were send in the read request. - * + * <p> * If only a variables of one type are requested it is better to use * {@link org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadRequest} which leads to a * {@link org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponse}. @@ -49,4 +49,9 @@ public class PlcReadResponse extends PlcResponse<PlcReadRequest, ReadResponseIte public <T> Optional<ReadResponseItem<T>> getValue(ReadRequestItem<T> item) { return (Optional) super.getValue(item); } + + @Override + public String toString() { + return "PlcReadResponse{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEvent.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEvent.java index e8b1d0d..6c2cfe7 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEvent.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEvent.java @@ -3,6 +3,7 @@ package org.apache.plc4x.java.api.messages; import org.apache.plc4x.java.api.messages.items.SubscriptionEventItem; import java.util.List; +import java.util.Objects; /* Licensed to the Apache Software Foundation (ASF) under one @@ -34,4 +35,27 @@ public class PlcSubscriptionEvent { return eventItems; } + @Override + public String toString() { + return "PlcSubscriptionEvent{" + + "eventItems=" + eventItems + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof PlcSubscriptionEvent)) { + return false; + } + PlcSubscriptionEvent that = (PlcSubscriptionEvent) o; + return Objects.equals(eventItems, that.eventItems); + } + + @Override + public int hashCode() { + return Objects.hash(eventItems); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequest.java index 65b0659..5fa8ac4 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequest.java @@ -22,4 +22,8 @@ import org.apache.plc4x.java.api.messages.items.SubscriptionRequestItem; public class PlcSubscriptionRequest extends PlcRequest<SubscriptionRequestItem<?>> { + @Override + public String toString() { + return "PlcSubscriptionRequest{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponse.java index 3c271df..a516b74 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponse.java @@ -29,4 +29,8 @@ public class PlcSubscriptionResponse extends PlcResponse<PlcSubscriptionRequest, super(request, subscriptionResponseItems); } + @Override + public String toString() { + return "PlcSubscriptionResponse{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequest.java index 94377d3..ed12177 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequest.java @@ -51,4 +51,27 @@ public class PlcUnsubscriptionRequest implements PlcMessage { return getRequestItems().size(); } + @Override + public String toString() { + return "PlcUnsubscriptionRequest{" + + "requestItems=" + requestItems + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof PlcUnsubscriptionRequest)) { + return false; + } + PlcUnsubscriptionRequest that = (PlcUnsubscriptionRequest) o; + return Objects.equals(requestItems, that.requestItems); + } + + @Override + public int hashCode() { + return Objects.hash(requestItems); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java index f75415a..7c56268 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java @@ -19,4 +19,8 @@ under the License. */ public class PlcUnsubscriptionResponse implements PlcMessage { + @Override + public String toString() { + return "PlcUnsubscriptionResponse{}"; + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java index 4176f91..ed09dae 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteRequest.java @@ -100,4 +100,9 @@ public class PlcWriteRequest extends PlcRequest<WriteRequestItem<?>> { } } + + @Override + public String toString() { + return "PlcWriteRequest{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java index 39da986..6535fca 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcWriteResponse.java @@ -39,4 +39,9 @@ public class PlcWriteResponse extends PlcResponse<PlcWriteRequest, WriteResponse public <T> Optional<WriteResponseItem<T>> getValue(WriteRequestItem<T> item) { return (Optional) super.getValue(item); } + + @Override + public String toString() { + return "PlcWriteResponse{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadRequestItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadRequestItem.java index c88e1d9..d4a7c73 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadRequestItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadRequestItem.java @@ -53,6 +53,13 @@ public class ReadRequestItem<T> extends RequestItem<T> { } @Override + public String toString() { + return "ReadRequestItem{" + + "size=" + size + + "} " + super.toString(); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java index 789d832..1e8e601 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java @@ -55,6 +55,13 @@ public class ReadResponseItem<T> extends ResponseItem<ReadRequestItem<T>> { } @Override + public String toString() { + return "ReadResponseItem{" + + "values=" + values + + "} " + super.toString(); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionEventItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionEventItem.java index 49a0200..60d95dc 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionEventItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionEventItem.java @@ -20,6 +20,7 @@ package org.apache.plc4x.java.api.messages.items; import java.util.Calendar; import java.util.List; +import java.util.Objects; public class SubscriptionEventItem<T> { @@ -45,4 +46,31 @@ public class SubscriptionEventItem<T> { return values; } + @Override + public String toString() { + return "SubscriptionEventItem{" + + "subscriptionRequestItem=" + subscriptionRequestItem + + ", timestamp=" + timestamp + + ", values=" + values + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SubscriptionEventItem)) { + return false; + } + SubscriptionEventItem<?> that = (SubscriptionEventItem<?>) o; + return Objects.equals(subscriptionRequestItem, that.subscriptionRequestItem) && + Objects.equals(timestamp, that.timestamp) && + Objects.equals(values, that.values); + } + + @Override + public int hashCode() { + return Objects.hash(subscriptionRequestItem, timestamp, values); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestChangeOfStateItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestChangeOfStateItem.java index 57db70f..8e4b0eb 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestChangeOfStateItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestChangeOfStateItem.java @@ -29,4 +29,8 @@ public class SubscriptionRequestChangeOfStateItem extends SubscriptionRequestIte super(datatype, address, SubscriptionType.CHANGE_OF_STATE, consumer); } + @Override + public String toString() { + return "SubscriptionRequestChangeOfStateItem{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestEventItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestEventItem.java index 8ed69c5..e842d88 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestEventItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/SubscriptionRequestEventItem.java @@ -29,4 +29,8 @@ public class SubscriptionRequestEventItem extends SubscriptionRequestItem { super(datatype, address, SubscriptionType.EVENT, consumer); } + @Override + public String toString() { + return "SubscriptionRequestEventItem{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteRequestItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteRequestItem.java index 9aba923..086bcea 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteRequestItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteRequestItem.java @@ -44,6 +44,13 @@ public class WriteRequestItem<T> extends RequestItem<T> { } @Override + public String toString() { + return "WriteRequestItem{" + + "values=" + values + + "} " + super.toString(); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteResponseItem.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteResponseItem.java index 9928b7d..2b6aa99 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteResponseItem.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/WriteResponseItem.java @@ -26,4 +26,8 @@ public class WriteResponseItem<T> extends ResponseItem<WriteRequestItem<T>> { super(requestItem, responseCode); } + @Override + public String toString() { + return "WriteResponseItem{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.java index 3c3d20d..ce73974 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.java @@ -98,6 +98,13 @@ public class TypeSafePlcReadRequest<T> extends PlcReadRequest { } @Override + public String toString() { + return "TypeSafePlcReadRequest{" + + "dataType=" + dataType + + "} " + super.toString(); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java index d6ed804..393ac00 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java @@ -99,4 +99,9 @@ public class TypeSafePlcReadResponse<T> extends PlcReadResponse { } } } + + @Override + public String toString() { + return "TypeSafePlcReadResponse{} " + super.toString(); + } } diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequest.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequest.java index 870d28a..24eb1c2 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequest.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequest.java @@ -85,6 +85,13 @@ public class TypeSafePlcWriteRequest<T> extends PlcWriteRequest { } @Override + public String toString() { + return "TypeSafePlcWriteRequest{" + + "dataType=" + dataType + + "} " + super.toString(); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java index e7d60a2..af4ee80 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java +++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java @@ -75,4 +75,9 @@ public class TypeSafePlcWriteResponse<T> extends PlcWriteResponse { } return new TypeSafePlcWriteResponse(new TypeSafePlcWriteRequest(referenceType, plcWriteResponse.getRequest()), plcWriteResponse.getResponseItems()); } + + @Override + public String toString() { + return "TypeSafePlcWriteResponse{} " + super.toString(); + } } diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java index 6c44f65..afeeef2 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java @@ -109,6 +109,21 @@ public class APIMessageTests { } @Test + public void plcProprietaryRequest() { + Object customMessage = new Object(); + PlcProprietaryRequest<Object> plcProprietaryRequest = new PlcProprietaryRequest<>(customMessage); + assertThat("Unexpected request type", plcProprietaryRequest.getRequest(), equalTo(customMessage)); + } + + @Test + public void plcProprietaryResponse() { + Object customMessage = new Object(); + Object customMessageResponse = new Object(); + PlcProprietaryResponse<Object> plcProprietaryResponse = new PlcProprietaryResponse<>(new PlcProprietaryRequest<>(customMessage), customMessageResponse); + assertThat("Unexpected response type", plcProprietaryResponse.getResponse(), equalTo(customMessageResponse)); + } + + @Test @Category(FastTests.class) public void plcReadRequestEmpty() { PlcReadRequest plcReadRequest = new PlcReadRequest(); diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryRequestTest.java similarity index 53% copy from plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java copy to plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryRequestTest.java index 14eda87..2beedc0 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryRequestTest.java @@ -6,9 +6,9 @@ to you 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 @@ -18,28 +18,27 @@ */ package org.apache.plc4x.java.api.messages; -import org.apache.plc4x.java.api.messages.items.ReadRequestItem; -import org.apache.plc4x.java.api.messages.items.ReadResponseItem; import org.junit.Test; -import java.util.Collections; -import java.util.List; +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.RETURNS_DEEP_STUBS; -import static org.mockito.Mockito.mock; - -public class PlcReadResponseTest { +public class PlcProprietaryRequestTest { @Test - public void constuctor() { - new PlcReadResponse(mock(PlcReadRequest.class), mock(ReadResponseItem.class)); - new PlcReadResponse(mock(PlcReadRequest.class), (List) Collections.singletonList(mock(ReadResponseItem.class))); + public void constructor() { + new PlcProprietaryRequest<>(new Object()); } @Test - public void getValue() { - new PlcReadResponse(mock(PlcReadRequest.class), (List) Collections.singletonList(mock(ReadResponseItem.class, RETURNS_DEEP_STUBS))) - .getValue(mock(ReadRequestItem.class)); + public void equalsAndHashCode() { + Object object = new Object(); + PlcProprietaryRequest SUT = new PlcProprietaryRequest<>(object); + PlcProprietaryRequest other = new PlcProprietaryRequest<>(object); + assertThat(SUT.hashCode(), equalTo(other.hashCode())); + assertThat(SUT.equals(other), equalTo(true)); + assertThat(SUT.equals(new Object()), equalTo(false)); + assertEquals(SUT, SUT); } - } \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryResponseTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryResponseTest.java new file mode 100644 index 0000000..d62c87e --- /dev/null +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcProprietaryResponseTest.java @@ -0,0 +1,53 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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.apache.plc4x.java.api.messages; + +import org.hamcrest.core.IsEqual; +import org.junit.Test; + +import static org.hamcrest.Matchers.equalTo; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.mock; + +public class PlcProprietaryResponseTest { + @Test + public void constructor() { + new PlcProprietaryResponse<>(mock(PlcProprietaryRequest.class), new Object()); + } + + @Test + public void getValue() { + Object customResponse = new Object(); + Object response = new PlcProprietaryResponse<>(mock(PlcProprietaryRequest.class), customResponse).getResponse(); + assertThat(response, equalTo(customResponse)); + } + + @Test + public void equalsAndHashCode() { + Object customResponse = new Object(); + PlcProprietaryRequest request = mock(PlcProprietaryRequest.class); + PlcProprietaryResponse SUT = new PlcProprietaryResponse<>(request, customResponse); + PlcProprietaryResponse other = new PlcProprietaryResponse<>(request, customResponse); + assertThat(SUT.hashCode(), IsEqual.equalTo(other.hashCode())); + assertThat(SUT.equals(other), IsEqual.equalTo(true)); + assertThat(SUT.equals(new Object()), IsEqual.equalTo(false)); + assertEquals(SUT, SUT); + } +} \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadRequestTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadRequestTest.java index 4ce45b9..9d077b9 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadRequestTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadRequestTest.java @@ -38,7 +38,7 @@ public class PlcReadRequestTest { } @Test - public void constuctor() { + public void constructor() { new PlcReadRequest(); new PlcReadRequest(new ReadRequestItem<>(String.class, dummyAddress)); new PlcReadRequest(String.class, dummyAddress); diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java index 14eda87..244e78c 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcReadResponseTest.java @@ -31,7 +31,7 @@ import static org.mockito.Mockito.mock; public class PlcReadResponseTest { @Test - public void constuctor() { + public void constructor() { new PlcReadResponse(mock(PlcReadRequest.class), mock(ReadResponseItem.class)); new PlcReadResponse(mock(PlcReadRequest.class), (List) Collections.singletonList(mock(ReadResponseItem.class))); } diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestContainerTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestContainerTest.java new file mode 100644 index 0000000..a3654ad --- /dev/null +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestContainerTest.java @@ -0,0 +1,80 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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.apache.plc4x.java.api.messages; + +import org.hamcrest.core.IsEqual; +import org.junit.Before; +import org.junit.Test; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; + +public class PlcRequestContainerTest { + + private PlcRequestContainer<PlcRequest, PlcResponse> SUT; + + private PlcResponse plcResponse; + private PlcRequest plcRequest; + private CompletableFuture<PlcResponse> future; + + @Before + public void setUp() throws Exception { + plcResponse = mock(PlcResponse.class); + plcRequest = mock(PlcRequest.class); + future = CompletableFuture.completedFuture(plcResponse); + SUT = new PlcRequestContainer<>(plcRequest, future); + } + + @Test + public void getRequest() { + PlcRequest request = SUT.getRequest(); + assertNotNull(request); + } + + @Test + public void getResponseFuture() throws Exception { + CompletableFuture<PlcResponse> responseFuture = SUT.getResponseFuture(); + assertNotNull(responseFuture); + assertNotNull(responseFuture.get(1, TimeUnit.NANOSECONDS)); + } + + @Test + public void getParent() { + ProtocolMessage parent = SUT.getParent(); + assertNull(parent); + } + + @Test + public void equalsAndHashCode() { + PlcRequestContainer<PlcRequest, PlcResponse> other = new PlcRequestContainer<>(plcRequest, future); + assertThat(SUT.hashCode(), IsEqual.equalTo(other.hashCode())); + assertThat(SUT.equals(other), IsEqual.equalTo(true)); + assertThat(SUT.equals(new Object()), IsEqual.equalTo(false)); + assertEquals(SUT, SUT); + } + + @Test + public void testToString() { + SUT.toString(); + } + +} \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java index 84d760f..1afc642 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java @@ -29,6 +29,7 @@ import java.util.Optional; import static org.hamcrest.collection.IsEmptyCollection.empty; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; @@ -96,4 +97,13 @@ public class PlcRequestTest { assertThat(SUT.isEmpty(), is(true)); } + @Test + public void equalsAndHashCode() { + PlcRequest other = new PlcRequest<RequestItem>(requestItems) { + }; + assertThat(SUT.hashCode(), equalTo(other.hashCode())); + assertThat(SUT.equals(other), equalTo(true)); + assertThat(SUT.equals(new Object()), equalTo(false)); + assertEquals(SUT, SUT); + } } \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcResponseTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcResponseTest.java index 7b887a3..dcca8ba 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcResponseTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcResponseTest.java @@ -31,20 +31,22 @@ import static org.hamcrest.collection.IsEmptyCollection.empty; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNull.notNullValue; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import static org.mockito.Mockito.mock; public class PlcResponseTest { + private PlcResponse<PlcRequest, ResponseItem, RequestItem> SUT; + private List<ResponseItem> responseItems; - private PlcResponse<PlcRequest, ResponseItem, RequestItem> SUT; + private PlcRequest plcRequest; @Before public void setUp() { responseItems = new ArrayList<>(); - SUT = new PlcResponse<PlcRequest, ResponseItem, RequestItem>(mock(PlcRequest.class), responseItems) { + plcRequest = mock(PlcRequest.class); + SUT = new PlcResponse<PlcRequest, ResponseItem, RequestItem>(plcRequest, responseItems) { }; } @@ -91,4 +93,14 @@ public class PlcResponseTest { public void getValue() { assertThat(SUT.getValue(null), equalTo(Optional.empty())); } + + @Test + public void equalsAndHashCode() { + PlcResponse other = new PlcResponse<PlcRequest, ResponseItem, RequestItem>(plcRequest, responseItems) { + }; + assertThat(SUT.hashCode(), equalTo(other.hashCode())); + assertThat(SUT.equals(other), equalTo(true)); + assertThat(SUT.equals(new Object()), equalTo(false)); + assertEquals(SUT, SUT); + } } \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEventTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEventTest.java new file mode 100644 index 0000000..5403b73 --- /dev/null +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionEventTest.java @@ -0,0 +1,59 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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.apache.plc4x.java.api.messages; + +import org.apache.plc4x.java.api.messages.items.SubscriptionEventItem; +import org.junit.Test; + +import java.util.List; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; + +public class PlcSubscriptionEventTest { + + @Test + public void constructor() { + new PlcSubscriptionEvent(mock(List.class)); + } + + @Test + public void getEvents() { + List mock = mock(List.class); + List<SubscriptionEventItem<?>> eventItems = new PlcSubscriptionEvent(mock).getEventItems(); + assertSame(eventItems, mock); + } + + @Test + public void equalsAndHashCode() { + List eventItems = mock(List.class); + PlcSubscriptionEvent thiis = new PlcSubscriptionEvent(eventItems); + PlcSubscriptionEvent other = new PlcSubscriptionEvent(eventItems); + assertThat(thiis.hashCode(), equalTo(other.hashCode())); + assertThat(thiis.equals(other), equalTo(true)); + assertThat(thiis.equals(new Object()), equalTo(false)); + assertEquals(thiis, thiis); + } + + @Test + public void testToString() { + new PlcSubscriptionEvent(mock(List.class)).toString(); + } +} \ No newline at end of file diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequestTest.java similarity index 75% copy from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java copy to plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequestTest.java index 8a7c659..d696e41 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionRequestTest.java @@ -15,15 +15,15 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -*/ -package org.apache.plc4x.java.api.messages.items; + */ +package org.apache.plc4x.java.api.messages; -import org.apache.plc4x.java.api.types.ResponseCode; +import org.junit.Test; -public class UnsubscriptionResponseItem { - - public UnsubscriptionResponseItem(UnsubscriptionRequestItem requestItem, ResponseCode responseCode) { +public class PlcSubscriptionRequestTest { + @Test + public void testToString() { + new PlcSubscriptionRequest().toString(); } - -} +} \ No newline at end of file diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponseTest.java similarity index 62% copy from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java copy to plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponseTest.java index 8a7c659..c40edb3 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcSubscriptionResponseTest.java @@ -15,15 +15,24 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -*/ -package org.apache.plc4x.java.api.messages.items; + */ +package org.apache.plc4x.java.api.messages; -import org.apache.plc4x.java.api.types.ResponseCode; +import org.junit.Test; -public class UnsubscriptionResponseItem { +import java.util.List; - public UnsubscriptionResponseItem(UnsubscriptionRequestItem requestItem, ResponseCode responseCode) { +import static org.mockito.Mockito.mock; +public class PlcSubscriptionResponseTest { + + @Test + public void constructor() { + new PlcSubscriptionResponse(mock(PlcSubscriptionRequest.class), mock(List.class)); } -} + @Test + public void testToString() { + new PlcSubscriptionResponse(mock(PlcSubscriptionRequest.class), mock(List.class)).toString(); + } +} \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequestTest.java similarity index 50% copy from plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java copy to plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequestTest.java index 84d760f..f384666 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcRequestTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionRequestTest.java @@ -18,67 +18,41 @@ */ package org.apache.plc4x.java.api.messages; -import org.apache.plc4x.java.api.messages.items.RequestItem; +import org.apache.plc4x.java.api.messages.items.UnsubscriptionRequestItem; import org.junit.Before; import org.junit.Test; -import java.util.ArrayList; import java.util.List; -import java.util.Optional; import static org.hamcrest.collection.IsEmptyCollection.empty; -import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; -public class PlcRequestTest { +public class PlcUnsubscriptionRequestTest { - private List<RequestItem> requestItems; - - private PlcRequest<RequestItem> SUT; + private PlcUnsubscriptionRequest SUT; @Before public void setUp() { - requestItems = new ArrayList<>(); - SUT = new PlcRequest<RequestItem>(requestItems) { - }; + SUT = new PlcUnsubscriptionRequest(); } @Test - public void addItem() { - SUT.addItem(mock(RequestItem.class)); + public void constructor() { + new PlcUnsubscriptionRequest(); + new PlcUnsubscriptionRequest(mock(List.class)); } @Test - public void getRequestItems() { - assertThat(SUT.getRequestItems(), empty()); - } - - @Test - public void getRequestItem() { - assertThat(SUT.getRequestItem(), equalTo(Optional.empty())); - requestItems.add(mock(RequestItem.class)); - assertThat(SUT.getRequestItem().isPresent(), is(true)); - requestItems.add(mock(RequestItem.class)); - try { - SUT.getRequestItem(); - fail("Too many items in PlcRequest should have failed."); - } catch (IllegalStateException e) { - // expected - } + public void addItem() { + SUT.addItem(mock(UnsubscriptionRequestItem.class)); } @Test - public void setRequestItem() { - SUT.setRequestItem(mock(RequestItem.class)); - requestItems.add(mock(RequestItem.class)); - try { - SUT.setRequestItem(mock(RequestItem.class)); - } catch (IllegalStateException e) { - // expected - } + public void getRequestItems() { + assertThat(SUT.getRequestItems(), empty()); } @Test @@ -87,13 +61,16 @@ public class PlcRequestTest { } @Test - public void isMultiValue() { - assertThat(SUT.isMultiValue(), is(false)); + public void equalsAndHashCode() { + PlcUnsubscriptionRequest other = new PlcUnsubscriptionRequest(); + assertThat(SUT.hashCode(), equalTo(other.hashCode())); + assertThat(SUT.equals(other), equalTo(true)); + assertThat(SUT.equals(new Object()), equalTo(false)); + assertEquals(SUT, SUT); } @Test - public void isEmpty() { - assertThat(SUT.isEmpty(), is(true)); + public void testToString() { + SUT.toString(); } - } \ No newline at end of file diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponseTest.java similarity index 75% rename from plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java rename to plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponseTest.java index 8a7c659..a3a5e3a 100644 --- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/UnsubscriptionResponseItem.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponseTest.java @@ -15,15 +15,14 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -*/ -package org.apache.plc4x.java.api.messages.items; + */ +package org.apache.plc4x.java.api.messages; -import org.apache.plc4x.java.api.types.ResponseCode; - -public class UnsubscriptionResponseItem { - - public UnsubscriptionResponseItem(UnsubscriptionRequestItem requestItem, ResponseCode responseCode) { +import org.junit.Test; +public class PlcUnsubscriptionResponseTest { + @Test + public void testToString() { + new PlcUnsubscriptionResponse().toString(); } - -} +} \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteRequestTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteRequestTest.java index 4680858..ea510d9 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteRequestTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteRequestTest.java @@ -106,4 +106,8 @@ public class PlcWriteRequestTest { } } + @Test + public void testToString() { + new PlcWriteRequest().toString(); + } } \ No newline at end of file diff --git a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteResponseTest.java b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteResponseTest.java index ca01800..04b1ae4 100644 --- a/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteResponseTest.java +++ b/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcWriteResponseTest.java @@ -31,7 +31,7 @@ import static org.mockito.Mockito.mock; public class PlcWriteResponseTest { @Test - public void constuctor() { + public void constructor() { new PlcWriteResponse(mock(PlcWriteRequest.class), mock(WriteResponseItem.class)); new PlcWriteResponse(mock(PlcWriteRequest.class), (List) Collections.singletonList(mock(WriteResponseItem.class))); } @@ -42,4 +42,8 @@ public class PlcWriteResponseTest { .getValue(mock(WriteRequestItem.class)); } + @Test + public void testToString() { + new PlcWriteResponse(mock(PlcWriteRequest.class), mock(WriteResponseItem.class)).toString(); + } } \ No newline at end of file