diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/Case.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/Case.cs index 64625f6a..4697f73d 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/Case.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/Case.cs @@ -275,11 +275,13 @@ public bool Equals(Case input) ( this.CcEmails == input.CcEmails || this.CcEmails != null && + input.CcEmails != null && this.CcEmails.SequenceEqual(input.CcEmails) ) && ( this.Appointments == input.Appointments || this.Appointments != null && + input.Appointments != null && this.Appointments.SequenceEqual(input.Appointments) ) && ( diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/CaseFilters.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/CaseFilters.cs index 9c3f64f8..69bb727b 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/CaseFilters.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/CaseFilters.cs @@ -184,6 +184,7 @@ public bool Equals(CaseFilters input) ( this.CaseStatuses == input.CaseStatuses || this.CaseStatuses != null && + input.CaseStatuses != null && this.CaseStatuses.SequenceEqual(input.CaseStatuses) ) && ( @@ -204,11 +205,13 @@ public bool Equals(CaseFilters input) ( this.PrimaryEmails == input.PrimaryEmails || this.PrimaryEmails != null && + input.PrimaryEmails != null && this.PrimaryEmails.SequenceEqual(input.PrimaryEmails) ) && ( this.CcEmails == input.CcEmails || this.CcEmails != null && + input.CcEmails != null && this.CcEmails.SequenceEqual(input.CcEmails) ) && ( diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatContent.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatContent.cs index c51a62ba..0c519a6d 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatContent.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatContent.cs @@ -122,6 +122,7 @@ public bool Equals(ChatContent input) ( this.Events == input.Events || this.Events != null && + input.Events != null && this.Events.SequenceEqual(input.Events) ) && ( diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatEvent.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatEvent.cs index 4e842d9b..79a9afce 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatEvent.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ChatEvent.cs @@ -207,6 +207,7 @@ public bool Equals(ChatEvent input) ( this.Attachments == input.Attachments || this.Attachments != null && + input.Attachments != null && this.Attachments.SequenceEqual(input.Attachments) ); } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/EmailContent.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/EmailContent.cs index 6d317f71..e17415b2 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/EmailContent.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/EmailContent.cs @@ -142,6 +142,7 @@ public bool Equals(EmailContent input) ( this.Attachments == input.Attachments || this.Attachments != null && + input.Attachments != null && this.Attachments.SequenceEqual(input.Attachments) ); } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ErrorList.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ErrorList.cs index 2dfdba68..cdac64ba 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ErrorList.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ErrorList.cs @@ -104,6 +104,7 @@ public bool Equals(ErrorList input) ( this.Errors == input.Errors || this.Errors != null && + input.Errors != null && this.Errors.SequenceEqual(input.Errors) ); } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListCasesResult.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListCasesResult.cs index 64647a62..c626145a 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListCasesResult.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListCasesResult.cs @@ -119,6 +119,7 @@ public bool Equals(ListCasesResult input) ( this.Cases == input.Cases || this.Cases != null && + input.Cases != null && this.Cases.SequenceEqual(input.Cases) ); } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListContactsResult.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListContactsResult.cs index 7813bcdf..b7b423d6 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListContactsResult.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/Support/ListContactsResult.cs @@ -119,6 +119,7 @@ public bool Equals(ListContactsResult input) ( this.Contacts == input.Contacts || this.Contacts != null && + input.Contacts != null && this.Contacts.SequenceEqual(input.Contacts) ); } diff --git a/Source/Tests/SupportTests.cs b/Source/Tests/SupportTests.cs index e6066383..62359882 100644 --- a/Source/Tests/SupportTests.cs +++ b/Source/Tests/SupportTests.cs @@ -58,6 +58,18 @@ public void ListContactsResult_DeserialisesChatEvents() Assert.That(contact.ChatContent.Events[0].Participant.Role, Is.EqualTo(Participant.RoleEnum.AMAZON)); } + [Test] + public void Equals_ReturnsFalseWhenOnlyOneSideHasAList() + { + var timestamp = new DateTime(2024, 1, 12, 11, 0, 0, DateTimeKind.Utc); + var withAttachments = new ChatEvent(timestamp: timestamp, type: ChatEvent.TypeEnum.ATTACHMENT, + attachments: new List { new Attachment(name: "file.txt") }); + var withoutAttachments = new ChatEvent(timestamp: timestamp, type: ChatEvent.TypeEnum.ATTACHMENT); + + Assert.That(withAttachments.Equals(withoutAttachments), Is.False); + Assert.That(withoutAttachments.Equals(withAttachments), Is.False); + } + [Test] public void ParameterListCases_SerialisesToAmazonRequestBody() {