< Summary

Class:MessaginPerformanceTests.MessageDecodingTests
Assembly:PerformanceTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Scene/PerformanceTests/MessageDecodingTests.cs
Covered lines:0
Uncovered lines:30
Coverable lines:30
Total lines:90
Line coverage:0% (0 of 30)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetupTests()0%2100%
MeasureTimeToDecodeMessages()0%2100%
MeasureTimeToDecodeTransform()0%2100%
MeasureTimeToDecodeQuery()0%2100%
GetMessagesFromFile(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Scene/PerformanceTests/MessageDecodingTests.cs

#LineLine coverage
 1using Unity.PerformanceTesting;
 2using NUnit.Framework;
 3using DCL;
 4using DCL.Interface;
 5using DCL.Models;
 6
 7namespace MessaginPerformanceTests
 8{
 9    public class MessageDecodingTests
 10    {
 011        public void SetupTests() { }
 12
 13        [Test, Performance]
 14        public void MeasureTimeToDecodeMessages()
 15        {
 016            string[] messages = GetMessagesFromFile(MessageDecoder.MESSAGES_FILENAME);
 017            int count = messages.Length;
 18            string sceneId;
 19            string tag;
 20            string message;
 21            PB_SendSceneMessage sendSceneMessage;
 22
 023            Measure.Method(() =>
 24                   {
 025                       for (var i = 0; i < count; i++)
 26                       {
 027                           MessageDecoder.DecodePayloadChunk(messages[i], out sceneId, out message, out tag, out sendSce
 28                       }
 029                   })
 030                   .SetUp(() => SetupTests())
 31                   .WarmupCount(3)
 32                   .MeasurementCount(10)
 33                   .IterationsPerMeasurement(10)
 34                   .GC()
 35                   .Run();
 036        }
 37
 38        [Test, Performance]
 39        public void MeasureTimeToDecodeTransform()
 40        {
 041            string[] messages = GetMessagesFromFile(MessageDecoder.TRANSFORM_FILENAME);
 042            int count = messages.Length;
 043            DCL.Components.DCLTransform.Model transformModel = new DCL.Components.DCLTransform.Model();
 44
 045            Measure.Method(() =>
 46                   {
 047                       for (var i = 0; i < count; i++)
 48                       {
 049                           MessageDecoder.DecodeTransform(messages[i], ref transformModel);
 50                       }
 051                   })
 052                   .SetUp(() => SetupTests())
 53                   .WarmupCount(3)
 54                   .MeasurementCount(10)
 55                   .IterationsPerMeasurement(10)
 56                   .GC()
 57                   .Run();
 058        }
 59
 60        [Test, Performance]
 61        public void MeasureTimeToDecodeQuery()
 62        {
 063            string[] messages = GetMessagesFromFile(MessageDecoder.QUERY_FILENAME);
 064            int count = messages.Length;
 065            QueryMessage queryMessage = new QueryMessage();
 66
 067            Measure.Method(() =>
 68                   {
 069                       for (var i = 0; i < count; i++)
 70                       {
 071                           MessageDecoder.DecodeQueryMessage("raycast", messages[i], ref queryMessage);
 72                       }
 073                   })
 074                   .SetUp(() => SetupTests())
 75                   .WarmupCount(3)
 76                   .MeasurementCount(10)
 77                   .IterationsPerMeasurement(10)
 78                   .GC()
 79                   .Run();
 080        }
 81
 82        public string[] GetMessagesFromFile(string filename)
 83        {
 084            string fullFilename = System.IO.Path.Combine(MessageDecoder.DUMP_PATH, filename);
 085            string text = System.IO.File.ReadAllText(fullFilename);
 86
 087            return text.Split(new char[] { '\n' }, System.StringSplitOptions.RemoveEmptyEntries);
 88        }
 89    }
 90}