@@ -28,7 +28,7 @@ public void BasicCompletion()
28
28
29
29
Assert . IsNotNull ( api . Chat ) ;
30
30
31
- var results = api . Chat . CreateChatCompletionAsync ( new ChatRequest ( )
31
+ var results = api . Chat . CreateChatCompletionAsync ( new ChatRequest ( )
32
32
{
33
33
Model = Model . ChatGPTTurbo ,
34
34
Temperature = 0.1 ,
@@ -566,5 +566,59 @@ public async Task DifferentSeedShouldBeDifferentOutput()
566
566
Assert . AreNotEqual ( jokeA , jokeB ) ;
567
567
}
568
568
}
569
- }
569
+
570
+ [ Test ]
571
+ public void ChatMessageSerializationShouldDeserialzeAsExpected ( )
572
+ {
573
+ var msg = new ChatMessage ( )
574
+ {
575
+ Role = ChatMessageRole . User ,
576
+ TextContent = "This is a test"
577
+ } ;
578
+ var jmsg = JsonConvert . SerializeObject ( msg ) ;
579
+ var deserializedMsg = JsonConvert . DeserializeObject < ChatMessage > ( jmsg ) ;
580
+
581
+ Assert . IsNotNull ( deserializedMsg ) ;
582
+ Assert . IsTrue ( msg . TextContent . Equals ( deserializedMsg . TextContent ) ) ;
583
+ Assert . IsTrue ( deserializedMsg . Images . Count == msg . Images . Count ) ;
584
+ }
585
+
586
+ [ Test ]
587
+ public void ChatMessagesContentSerializationShouldDeserialzeAsExpected ( )
588
+ {
589
+
590
+ var msg = new ChatMessage ( ChatMessageRole . User , "What is this image about?" , new ChatMessage . ImageInput [ ] { new ChatMessage . ImageInput ( "https://xyz.com/image.png" ) } ) ;
591
+
592
+ var jmsg = JsonConvert . SerializeObject ( msg ) ;
593
+ var deserializedMsg = JsonConvert . DeserializeObject < ChatMessage > ( jmsg ) ;
594
+
595
+ Assert . IsNotNull ( deserializedMsg ) ;
596
+ Assert . IsTrue ( msg . TextContent . Equals ( deserializedMsg . TextContent ) ) ;
597
+ Assert . IsTrue ( deserializedMsg . Images . Count == msg . Images . Count ) ;
598
+ Assert . IsTrue ( deserializedMsg . Images [ 0 ] . Url . Equals ( msg . Images [ 0 ] . Url ) ) ;
599
+ }
600
+
601
+ [ Test ]
602
+ public void ChatMessagesListSerializationShouldDeserialzeAsExpected ( )
603
+ {
604
+ var messages = new List < ChatMessage > ( ) ;
605
+ var msg1 = new ChatMessage ( ChatMessageRole . User , "What is this image about?" , new ChatMessage . ImageInput [ ] { new ChatMessage . ImageInput ( "https://xyz.com/image.png" ) } ) ;
606
+ messages . Add ( msg1 ) ;
607
+ var msg2 = new ChatMessage ( ChatMessageRole . User , "And what is this image about?" , new ChatMessage . ImageInput [ ] { new ChatMessage . ImageInput ( "https://xyz.com/image2.png" ) } ) ;
608
+ messages . Add ( msg2 ) ;
609
+
610
+ var jmsgs = JsonConvert . SerializeObject ( messages ) ;
611
+ var deserializedMessagesList = JsonConvert . DeserializeObject < List < ChatMessage > > ( jmsgs ) ;
612
+
613
+ Assert . IsNotNull ( deserializedMessagesList ) ;
614
+ Assert . IsTrue ( deserializedMessagesList . Count == messages . Count ) ;
615
+ Assert . IsTrue ( deserializedMessagesList [ 0 ] . TextContent . Equals ( messages [ 0 ] . TextContent ) ) ;
616
+ Assert . IsTrue ( deserializedMessagesList [ 0 ] . Images . Count == messages [ 0 ] . Images . Count ) ;
617
+ Assert . IsTrue ( deserializedMessagesList [ 0 ] . Images [ 0 ] . Url . Equals ( messages [ 0 ] . Images [ 0 ] . Url ) ) ;
618
+
619
+ Assert . IsTrue ( deserializedMessagesList [ 1 ] . TextContent . Equals ( messages [ 1 ] . TextContent ) ) ;
620
+ Assert . IsTrue ( deserializedMessagesList [ 1 ] . Images . Count == messages [ 1 ] . Images . Count ) ;
621
+ Assert . IsTrue ( deserializedMessagesList [ 1 ] . Images [ 0 ] . Url . Equals ( messages [ 1 ] . Images [ 0 ] . Url ) ) ;
622
+ }
623
+ }
570
624
}
0 commit comments