microsoft/teams.net

Public

mirrored from https://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
docs/update-release-process

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Api.Tests/Entities/AtMentionEntityTests.cs

108lines · modecode

1using System.Text.Json;
2
3using Microsoft.Teams.Api.Entities;
4
5namespace Microsoft.Teams.Api.Tests.Entities;
6
7public class AtMentionEntityTests
8{
9 [Fact]
10 public void AtMentionEntity_JsonSerialize()
11 {
12 var account = new Account() { Id = "accountId", Name = "acctName" };
13 var entity = new MentionEntity()
14 {
15 Mentioned = account,
16 Text = $"<at>{account.Name}</at>"
17 };
18
19 var json = JsonSerializer.Serialize(entity, new JsonSerializerOptions()
20 {
21 WriteIndented = true,
22 IndentSize = 2,
23 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
24 });
25
26 Assert.Equal(File.ReadAllText(
27 @"../../../Json/Entities/AtMentionEntity.json"
28 ), json);
29 }
30
31
32 [Fact]
33 public void AtMentionEntity_JsonSerialize_Derived()
34 {
35 var account = new Account() { Id = "accountId", Name = "acctName" };
36 MentionEntity entity = new MentionEntity()
37 {
38 Mentioned = account,
39 Text = $"<at>{account.Name}</at>"
40 };
41
42 var json = JsonSerializer.Serialize(entity, new JsonSerializerOptions()
43 {
44 WriteIndented = true,
45 IndentSize = 2,
46 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
47 });
48
49 Assert.Equal(File.ReadAllText(
50 @"../../../Json/Entities/AtMentionEntity.json"
51 ), json);
52 }
53
54 [Fact]
55 public void AtMentionEntity_JsonSerialize_Interface_Derived()
56 {
57 var account = new Account() { Id = "accountId", Name = "acctName" };
58 Entity entity = new MentionEntity()
59 {
60 Mentioned = account,
61 Text = $"<at>{account.Name}</at>"
62 };
63
64 var json = JsonSerializer.Serialize(entity, new JsonSerializerOptions()
65 {
66 WriteIndented = true,
67 IndentSize = 2,
68 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
69 });
70
71 Assert.Equal(File.ReadAllText(
72 @"../../../Json/Entities/AtMentionEntity.json"
73 ), json);
74 }
75
76
77 [Fact]
78 public void AtMentionEntity_JsonDeserialize()
79 {
80 var json = File.ReadAllText(@"../../../Json/Entities/AtMentionEntity.json");
81 var entity = JsonSerializer.Deserialize<MentionEntity>(json);
82 var account = new Account() { Id = "accountId", Name = "acctName" };
83 var expected = new MentionEntity()
84 {
85 Mentioned = account,
86 Text = $"<at>{account.Name}</at>"
87 };
88
89 Assert.Equivalent(expected, entity);
90 }
91
92 [Fact]
93 public void AtMentionEntity_JsonDeserialize_Derived()
94 {
95 var json = File.ReadAllText(@"../../../Json/Entities/AtMentionEntity.json");
96 var entity = JsonSerializer.Deserialize<Entity>(json);
97 var account = new Account() { Id = "accountId", Name = "acctName" };
98 var expected = new MentionEntity()
99 {
100 Mentioned = account,
101 Text = $"<at>{account.Name}</at>"
102 };
103
104 Assert.Equivalent(expected, entity);
105 }
106
107
108}