From 7949980bd7ae70d690eeec5cc20ac1ef58a18130 Mon Sep 17 00:00:00 2001 From: Patrick Grote Date: Sun, 17 Mar 2024 11:04:54 +0100 Subject: [PATCH] More Coverage --- .../AbstractRDMParameterWrapper.cs | 2 - .../PayloadObject/AbstractRDMPayloadObject.cs | 9 ++- RDMSharpTests/RDM/ParameterWrappersTest.cs | 55 ++++++++++++++++++- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/RDMSharp/ParameterWrapper/AbstractRDMParameterWrapper.cs b/RDMSharp/ParameterWrapper/AbstractRDMParameterWrapper.cs index b576d9b..774a2a1 100644 --- a/RDMSharp/ParameterWrapper/AbstractRDMParameterWrapper.cs +++ b/RDMSharp/ParameterWrapper/AbstractRDMParameterWrapper.cs @@ -518,8 +518,6 @@ public abstract class AbstractRDMGetParameterWrapperEmptyRequestResponse : Abstr { public override sealed ERDM_CommandClass CommandClass => ERDM_CommandClass.GET; - public Type GetResponseType => throw new NotSupportedException(); //this is the cleanest way.... pgrote 08.12.2021 - protected AbstractRDMGetParameterWrapperEmptyRequestResponse(in ERDM_Parameter parameter) : base(parameter) { } diff --git a/RDMSharp/RDM/PayloadObject/AbstractRDMPayloadObject.cs b/RDMSharp/RDM/PayloadObject/AbstractRDMPayloadObject.cs index b907a2f..d6f7195 100644 --- a/RDMSharp/RDM/PayloadObject/AbstractRDMPayloadObject.cs +++ b/RDMSharp/RDM/PayloadObject/AbstractRDMPayloadObject.cs @@ -3,7 +3,7 @@ namespace RDMSharp { - public abstract class AbstractRDMPayloadObject : IRDMPayloadObject + public abstract class AbstractRDMPayloadObject : IRDMPayloadObject, IEquatable { public abstract byte[] ToPayloadData(); @@ -19,7 +19,12 @@ public override sealed bool Equals(object obj) public override sealed int GetHashCode() { return ToPayloadData().GenerateHashCode(); - } + } + + public bool Equals(IRDMPayloadObject other) + { + return other.Equals(this); + } } public abstract class AbstractRDMPayloadObjectOneOf : AbstractRDMPayloadObject, IRDMPayloadObjectOneOf { diff --git a/RDMSharpTests/RDM/ParameterWrappersTest.cs b/RDMSharpTests/RDM/ParameterWrappersTest.cs index 041fcc0..2107e7f 100644 --- a/RDMSharpTests/RDM/ParameterWrappersTest.cs +++ b/RDMSharpTests/RDM/ParameterWrappersTest.cs @@ -5,6 +5,7 @@ using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.Reflection; using System.Text; using System.Text.Json.Serialization; @@ -298,6 +299,9 @@ private void TestParameterWrapperForwardBackwardSerialization(IEnumerable abstractRDMParameterWrapperEmpty4) + { + tested++; + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.GetRequestObjectToParameterData(null); }); + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.GetRequestParameterDataToObject(null); }); + + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.GetResponseObjectToParameterData(null); }); + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.GetResponseParameterDataToObject(null); }); + + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.SetRequestObjectToParameterData(null); }); + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.SetRequestParameterDataToObject(null); }); + + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.SetResponseObjectToParameterData(null); }); + Assert.Throws(typeof(NotSupportedException), () => { abstractRDMParameterWrapperEmpty4.SetResponseParameterDataToObject(null); }); } - if (tested <= 1 && failIfNotSuitable) + if (tested <= 1 && failIfNotSuitable) Assert.Fail($"{wrapper} is not using Interface"); } object getValue(Type type)