conversation: adds Equal()
This commit is contained in:
@@ -24,7 +24,7 @@ func (c *Conversation) GetDisplayName() string {
|
|||||||
return *c.DisplayName
|
return *c.DisplayName
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c Conversation) MarshalZerologObject(e *zerolog.Event) {
|
func (c *Conversation) MarshalZerologObject(e *zerolog.Event) {
|
||||||
e.Str("guid", c.Guid)
|
e.Str("guid", c.Guid)
|
||||||
e.Time("date", c.Date)
|
e.Time("date", c.Date)
|
||||||
e.Int("unreadCount", c.UnreadCount)
|
e.Int("unreadCount", c.UnreadCount)
|
||||||
@@ -34,3 +34,39 @@ func (c Conversation) MarshalZerologObject(e *zerolog.Event) {
|
|||||||
e.Str("displayName", *c.DisplayName)
|
e.Str("displayName", *c.DisplayName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Conversation) Equal(o *Conversation) bool {
|
||||||
|
if c.Guid != o.Guid {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if !c.Date.Equal(o.Date) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.UnreadCount != o.UnreadCount {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.LastMessagePreview != o.LastMessagePreview {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(c.Participants) != len(o.Participants) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, p := range c.Participants {
|
||||||
|
if p != o.Participants[i] {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.DisplayName != nil && o.DisplayName != nil {
|
||||||
|
if *c.DisplayName != *o.DisplayName {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|||||||
@@ -84,26 +84,9 @@ func TestConversations(t *testing.T) {
|
|||||||
t.Fatalf("Unexpected number of conversations: %d (expected %d)", len(convos), 1)
|
t.Fatalf("Unexpected number of conversations: %d (expected %d)", len(convos), 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if convos[0].Guid != conversation.Guid {
|
testConversation := &convos[0]
|
||||||
t.Fatalf("Unexpected conversation GUID: %s (expected %s)", convos[0].Guid, conversation.Guid)
|
if testConversation.Equal(&conversation) != true {
|
||||||
}
|
t.Fatalf("Unexpected conversation: %v (expected %v)", convos[0], conversation)
|
||||||
|
|
||||||
if convos[0].LastMessagePreview != conversation.LastMessagePreview {
|
|
||||||
t.Fatalf("Unexpected conversation LastMessagePreview: %s (expected %s)", convos[0].LastMessagePreview, conversation.LastMessagePreview)
|
|
||||||
}
|
|
||||||
|
|
||||||
if convos[0].UnreadCount != conversation.UnreadCount {
|
|
||||||
t.Fatalf("Unexpected conversation UnreadCount: %d (expected %d)", convos[0].UnreadCount, conversation.UnreadCount)
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, p := range convos[0].Participants {
|
|
||||||
if p != conversation.Participants[i] {
|
|
||||||
t.Fatalf("Unexpected conversation Participants: %s (expected %s)", p, conversation.Participants[i])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !convos[0].Date.Equal(conversation.Date) {
|
|
||||||
t.Fatalf("Unexpected conversation Date: %s (expected %s)", convos[0].Date, conversation.Date)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user