-
Notifications
You must be signed in to change notification settings - Fork 0
/
SerializableTransformObjectTest.cs
225 lines (193 loc) · 8.45 KB
/
SerializableTransformObjectTest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
// <copyright file="SerializableTransformObjectTest.cs" company="HiVR">
// Copyright (c) 2016 HiVR All Rights Reserved
// </copyright>
namespace SerializedObjects
{
using NUnit.Framework;
using System.Collections.Generic;
using System.Net.Sockets;
using System.Text;
/// <summary>
/// Test <see cref="SerializableTransformObject"/> class.
/// </summary>
public class SerializableTransformObjectTest
{
#region Methods
/// <summary>
/// Test Empty Constructor.
/// </summary>
[Test]
public void TestEmptyConstructor()
{
Assert.True(new SerializableTransformObject() is SerializableTransformObject);
}
/// <summary>
/// Test Constructor.
/// </summary>
[Test]
public void TestConstructor()
{
int id = 0;
SerializableType type = SerializableType.Bench;
bool isStatic = true;
SerializableVector3 position = new SerializableVector3(0, 0, 0);
SerializableVector3 scale = new SerializableVector3(1, 1, 1);
SerializableVector3 rotation = new SerializableVector3(2, 2, 2);
SerializableCharacter character = new SerializableCharacter(true, "Test");
SerializableTransformObject constructor = new SerializableTransformObject(id, type, isStatic, position, scale, rotation, character);
Assert.True(constructor is SerializableTransformObject);
Assert.That(constructor.Id, Is.EqualTo(id));
Assert.That(constructor.Type, Is.EqualTo(type));
Assert.That(constructor.IsStatic, Is.EqualTo(isStatic));
Assert.That(constructor.Position, Is.EqualTo(position));
Assert.That(constructor.Scale, Is.EqualTo(scale));
Assert.That(constructor.Rotation, Is.EqualTo(rotation));
Assert.That(constructor.Character, Is.EqualTo(character));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Buffer"/> field.
/// </summary>
[Test]
public void TestBuffer()
{
SerializableTransformObject constructor = new SerializableTransformObject();
byte[] buffer = Encoding.ASCII.GetBytes("TestBuffer");
constructor.Buffer = buffer;
Assert.That(constructor.Buffer, Is.EqualTo(buffer));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.TransmissionBuffer"/> field.
/// </summary>
[Test]
public void TestTransmissionBuffer()
{
SerializableTransformObject constructor = new SerializableTransformObject();
List<byte> transmissionBuffer = new List<byte>();
transmissionBuffer.AddRange(Encoding.ASCII.GetBytes("TestTransmissionBuffer"));
constructor.TransmissionBuffer = transmissionBuffer;
Assert.That(constructor.TransmissionBuffer, Is.EqualTo(transmissionBuffer));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Socket"/> field.
/// </summary>
[Test]
public void TestSocket()
{
SerializableTransformObject constructor = new SerializableTransformObject();
Socket socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
constructor.Socket = socket;
Assert.That(constructor.Socket, Is.EqualTo(socket));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Id"/> field.
/// </summary>
[Test]
public void TestId()
{
SerializableTransformObject constructor = new SerializableTransformObject();
int id = 104693;
constructor.Id = id;
Assert.That(constructor.Id, Is.EqualTo(id));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Type"/> field.
/// </summary>
[Test]
public void TestType()
{
SerializableTransformObject constructor = new SerializableTransformObject();
SerializableType type = SerializableType.Television;
constructor.Type = type;
Assert.That(constructor.Type, Is.EqualTo(type));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.IsStatic"/> field.
/// </summary>
[Test]
public void TestIsStatic()
{
SerializableTransformObject constructor = new SerializableTransformObject();
bool isStatic = true;
constructor.IsStatic = isStatic;
Assert.That(constructor.IsStatic, Is.EqualTo(isStatic));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Position"/> field.
/// </summary>
[Test]
public void TestPosition()
{
SerializableTransformObject constructor = new SerializableTransformObject();
SerializableVector3 position = new SerializableVector3(1, 2, 3);
constructor.Position = position;
Assert.That(constructor.Position, Is.EqualTo(position));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Scale"/> field.
/// </summary>
[Test]
public void TestScale()
{
SerializableTransformObject constructor = new SerializableTransformObject();
SerializableVector3 scale = new SerializableVector3(2, 3, 4);
constructor.Scale = scale;
Assert.That(constructor.Scale, Is.EqualTo(scale));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Rotation"/> field.
/// </summary>
[Test]
public void TestRotation()
{
SerializableTransformObject constructor = new SerializableTransformObject();
SerializableVector3 rotation = new SerializableVector3(3, 4, 5);
constructor.Rotation = rotation;
Assert.That(constructor.Rotation, Is.EqualTo(rotation));
}
/// <summary>
/// Test <see cref="SerializableTransformObject.Character"/> field.
/// </summary>
[Test]
public void TestCharacter()
{
SerializableTransformObject constructor = new SerializableTransformObject();
SerializableCharacter character = new SerializableCharacter(true, "Test");
constructor.Character = character;
Assert.That(constructor.Character, Is.EqualTo(character));
}
/// <summary>
/// Test to check the serialize and de-serialize methods.
/// </summary>
[Test]
public void TestSerializeDeserialize()
{
// Initialize values
int id = 0;
SerializableType type = SerializableType.Bench;
bool isStatic = true;
SerializableVector3 position = new SerializableVector3(0, 0, 0);
SerializableVector3 scale = new SerializableVector3(1, 1, 1);
SerializableVector3 rotation = new SerializableVector3(2, 2, 2);
SerializableCharacter character = new SerializableCharacter(true, "Test");
// Serialize constructor
SerializableTransformObject constructor = new SerializableTransformObject(id, type, isStatic, position, scale, rotation, character);
byte[] serialized = constructor.Serialize();
// Create new SerializableTransformObject, add the serialized buffer to it
SerializableTransformObject check = new SerializableTransformObject();
List<byte> transmissionBuffer = new List<byte>();
transmissionBuffer.AddRange(serialized);
check.TransmissionBuffer = transmissionBuffer;
// De-serialize
SerializableTransformObject deserialized = check.DeSerialize();
// Check the values
Assert.That(deserialized.Id, Is.EqualTo(constructor.Id));
Assert.That(deserialized.Type, Is.EqualTo(constructor.Type));
Assert.That(deserialized.IsStatic, Is.EqualTo(constructor.IsStatic));
Assert.That(deserialized.Position.X, Is.EqualTo(constructor.Position.X));
Assert.That(deserialized.Scale.Y, Is.EqualTo(constructor.Scale.Y));
Assert.That(deserialized.Rotation.Z, Is.EqualTo(constructor.Rotation.Z));
Assert.That(deserialized.Character.Name, Is.EqualTo(constructor.Character.Name));
}
#endregion Methods
}
}