< Summary

Class:EntryPointWorldShould
Assembly:EntryPoint_World_Tests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/EntryPoint_World/Tests/EntryPointWorldShould.cs
Covered lines:80
Uncovered lines:0
Coverable lines:80
Total lines:179
Line coverage:100% (80 of 80)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%110100%
QueueEntityMessagesCorrectly()0%110100%
QueueSharedComponentMessagesCorrectly()0%110100%
QueueEntityComponentCorrectly()0%110100%
QueueQueryCorrectly()0%110100%
QueueSceneReadyCorrectly()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/EntryPoint_World/Tests/EntryPointWorldShould.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using DCL;
 3using DCL.Models;
 4using Newtonsoft.Json;
 5using NUnit.Framework;
 6using UnityEngine;
 7using Assert = UnityEngine.Assertions.Assert;
 8
 9public class MessageQueueHandler_Mock : IMessageQueueHandler
 10{
 11    public List<QueuedSceneMessage_Scene> messagesList = new List<QueuedSceneMessage_Scene>();
 12    public Queue<QueuedSceneMessage_Scene> sceneMessagesPool { get; } = new Queue<QueuedSceneMessage_Scene>();
 13
 14    private static bool OUTPUT_ASSERT_CODE_ON_CONSOLE = false;
 15    private int i = 0;
 16
 17    public void EnqueueSceneMessage(QueuedSceneMessage_Scene message)
 18    {
 19        messagesList.Add(message);
 20
 21        if (OUTPUT_ASSERT_CODE_ON_CONSOLE)
 22        {
 23            var output = JsonConvert.SerializeObject(message);
 24            output = output.Replace(@"""", @"""""");
 25            i++;
 26            Debug.Log($"string json{i} = JsonConvert.SerializeObject(queueHandler.messagesList[{i - 1}]);");
 27            Debug.Log($"string json{i}base = @\"{output}\";");
 28            Debug.Log($"Assert.AreEqual(json{i}base, json{i});");
 29        }
 30    }
 31}
 32
 33public class EntryPointWorldShould
 34{
 35    private EntryPoint_World entryPoint;
 36    private MessageQueueHandler_Mock queueHandler;
 37
 38    [SetUp]
 39    public void SetUp()
 40    {
 541        queueHandler = new MessageQueueHandler_Mock();
 542        entryPoint = new EntryPoint_World(queueHandler);
 43
 44        const string sceneId = "test-scene-id";
 45        const string tag = "test-tag";
 546        EntryPoint_World.SetSceneId(sceneId);
 547        EntryPoint_World.SetTag(tag);
 548    }
 49
 50    [Test]
 51    public void QueueEntityMessagesCorrectly()
 52    {
 53        const string entityId_1 = "1";
 54        const string entityId_2 = "2";
 55
 156        EntryPoint_World.SetEntityId(entityId_1);
 157        EntryPoint_World.CreateEntity();
 158        EntryPoint_World.SetEntityId(entityId_2);
 159        EntryPoint_World.CreateEntity();
 160        EntryPoint_World.SetEntityParent(entityId_1);
 61
 162        EntryPoint_World.SetEntityId(entityId_1);
 163        EntryPoint_World.RemoveEntity();
 164        EntryPoint_World.SetEntityId(entityId_2);
 165        EntryPoint_World.RemoveEntity();
 66
 167        string json1 = JsonConvert.SerializeObject(queueHandler.messagesList[0]);
 168        string json1base = @"{""method"":""CreateEntity"",""payload"":{""entityId"":""1""},""tag"":""test-tag"",""type""
 169        Assert.AreEqual(json1base, json1);
 70
 171        string json2 = JsonConvert.SerializeObject(queueHandler.messagesList[1]);
 172        string json2base = @"{""method"":""CreateEntity"",""payload"":{""entityId"":""2""},""tag"":""test-tag"",""type""
 173        Assert.AreEqual(json2base, json2);
 74
 175        string json3 = JsonConvert.SerializeObject(queueHandler.messagesList[2]);
 176        string json3base = @"{""method"":""SetEntityParent"",""payload"":{""entityId"":""2"",""parentId"":""1""},""tag""
 177        Assert.AreEqual(json3base, json3);
 78
 179        string json4 = JsonConvert.SerializeObject(queueHandler.messagesList[3]);
 180        string json4base = @"{""method"":""RemoveEntity"",""payload"":{""entityId"":""1""},""tag"":""test-tag"",""type""
 181        Assert.AreEqual(json4base, json4);
 82
 183        string json5 = JsonConvert.SerializeObject(queueHandler.messagesList[4]);
 184        string json5base = @"{""method"":""RemoveEntity"",""payload"":{""entityId"":""2""},""tag"":""test-tag"",""type""
 185        Assert.AreEqual(json5base, json5);
 186    }
 87
 88    [Test]
 89    public void QueueSharedComponentMessagesCorrectly()
 90    {
 91        const string entityId = "1";
 92        const string componentId = "component-1";
 93        const int componentClass = 1;
 94
 195        EntryPoint_World.SetEntityId(entityId);
 196        EntryPoint_World.CreateEntity();
 197        EntryPoint_World.SharedComponentCreate(componentClass, componentId);
 198        EntryPoint_World.SharedComponentAttach(componentId, null);
 199        EntryPoint_World.SharedComponentUpdate(componentId, "{}");
 1100        EntryPoint_World.SharedComponentDispose(componentId);
 101
 1102        string json1 = JsonConvert.SerializeObject(queueHandler.messagesList[0]);
 1103        string json1base = @"{""method"":""CreateEntity"",""payload"":{""entityId"":""1""},""tag"":""test-tag"",""type""
 1104        Assert.AreEqual(json1base, json1);
 105
 1106        string json2 = JsonConvert.SerializeObject(queueHandler.messagesList[1]);
 1107        string json2base = @"{""method"":""ComponentCreated"",""payload"":{""id"":""component-1"",""classId"":1,""name""
 1108        Assert.AreEqual(json2base, json2);
 109
 1110        string json3 = JsonConvert.SerializeObject(queueHandler.messagesList[2]);
 1111        string json3base = @"{""method"":""AttachEntityComponent"",""payload"":{""entityId"":""1"",""id"":""component-1"
 1112        Assert.AreEqual(json3base, json3);
 113
 1114        string json4 = JsonConvert.SerializeObject(queueHandler.messagesList[3]);
 1115        string json4base = @"{""method"":""ComponentUpdated"",""payload"":{""componentId"":""component-1"",""json"":""{}
 1116        Assert.AreEqual(json4base, json4);
 117
 1118        string json5 = JsonConvert.SerializeObject(queueHandler.messagesList[4]);
 1119        string json5base = @"{""method"":""ComponentDisposed"",""payload"":{""id"":""component-1""},""tag"":""test-tag""
 1120        Assert.AreEqual(json5base, json5);
 1121    }
 122
 123    [Test]
 124    public void QueueEntityComponentCorrectly()
 125    {
 126        const string entityId = "1";
 127        const string componentId = "component-1";
 128        const int componentClass = 1;
 129
 1130        EntryPoint_World.SetEntityId(entityId);
 1131        EntryPoint_World.CreateEntity();
 1132        EntryPoint_World.EntityComponentCreateOrUpdate(componentClass, componentId);
 1133        EntryPoint_World.EntityComponentDestroy(componentId);
 134
 1135        Assert.AreEqual(3, queueHandler.messagesList.Count);
 136
 1137        string json1base = @"{""method"":""CreateEntity"",""payload"":{""entityId"":""1""},""tag"":""test-tag"",""type""
 1138        string json2base = @"{""method"":""UpdateEntityComponent"",""payload"":{""entityId"":""1"",""classId"":1,""json"
 1139        string json3base = @"{""method"":""ComponentRemoved"",""payload"":{""entityId"":""1"",""name"":""component-1""},
 140
 1141        string json1 = JsonConvert.SerializeObject(queueHandler.messagesList[0]);
 1142        string json2 = JsonConvert.SerializeObject(queueHandler.messagesList[1]);
 1143        string json3 = JsonConvert.SerializeObject(queueHandler.messagesList[2]);
 144
 1145        Assert.AreEqual(json1base, json1);
 1146        Assert.AreEqual(json2base, json2);
 1147        Assert.AreEqual(json3base, json3);
 1148    }
 149
 150    [Test]
 151    public void QueueQueryCorrectly()
 152    {
 1153        Protocol.QueryPayload payload = new Protocol.QueryPayload();
 1154        payload.queryType = 79014;
 1155        payload.raycastPayload = new Protocol.RaycastQueryPayload
 156        {
 157            direction = Vector3.right,
 158            distance = 10,
 159            id = 66,
 160            origin = Vector3.zero,
 161            raycastType = 1
 162        };
 1163        EntryPoint_World.Query(payload);
 164
 1165        string json1 = JsonConvert.SerializeObject(queueHandler.messagesList[0]);
 1166        string json1base = @"{""method"":""Query"",""payload"":{""queryType"":null,""payload"":{""sceneId"":""test-scene
 1167        Assert.AreEqual(json1base, json1);
 1168    }
 169
 170    [Test]
 171    public void QueueSceneReadyCorrectly()
 172    {
 1173        EntryPoint_World.SceneReady();
 174
 1175        string json1 = JsonConvert.SerializeObject(queueHandler.messagesList[0]);
 1176        string json1base = @"{""method"":""InitMessagesFinished"",""payload"":{},""tag"":""test-tag"",""type"":1,""scene
 1177        Assert.AreEqual(json1base, json1);
 1178    }
 179}