< Summary

Class:DCL.Components.DCLTransformUtils
Assembly:DCL.Components.Transform
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Transform/DCLTransformUtils.cs
Covered lines:33
Uncovered lines:0
Coverable lines:33
Total lines:56
Line coverage:100% (33 of 33)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:2
Method coverage:100% (2 of 2)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DecodeTransform(...)0%110100%
EncodeTransform(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Transform/DCLTransformUtils.cs

#LineLine coverage
 1using System;
 2using System.IO;
 3using UnityEngine;
 4
 5namespace DCL.Components
 6{
 7    public static class DCLTransformUtils
 8    {
 9        public static unsafe void DecodeTransform(string payload, ref DCLTransform.Model model)
 10        {
 13022911            byte[] bytes = Convert.FromBase64String(payload);
 13022912            fixed (byte* numPtr = &bytes[0])
 13            {
 13022914                float* arr = (float*)numPtr;
 13022915                model.position.x = arr[0];
 13022916                model.position.y = arr[1];
 13022917                model.position.z = arr[2];
 13022918                model.rotation.x = arr[3];
 13022919                model.rotation.y = arr[4];
 13022920                model.rotation.z = arr[5];
 13022921                model.rotation.w = arr[6];
 13022922                model.scale.x = arr[7];
 13022923                model.scale.y = arr[8];
 13022924                model.scale.z = arr[9];
 25            }
 13022926        }
 27
 28        public static unsafe string EncodeTransform(Vector3 position, Quaternion rotation, Vector3 scale)
 29        {
 30            unsafe void WriteSingleToStream(float value, Stream stream)
 31            {
 229032                byte* ptr = (byte*)&value;
 229033                stream.WriteByte(ptr[0]);
 229034                stream.WriteByte(ptr[1]);
 229035                stream.WriteByte(ptr[2]);
 229036                stream.WriteByte(ptr[3]);
 229037            }
 38
 22939            using (var memoryStream = new MemoryStream(40))
 40            {
 22941                WriteSingleToStream(position.x, memoryStream);
 22942                WriteSingleToStream(position.y, memoryStream);
 22943                WriteSingleToStream(position.z, memoryStream);
 22944                WriteSingleToStream(rotation.x, memoryStream);
 22945                WriteSingleToStream(rotation.y, memoryStream);
 22946                WriteSingleToStream(rotation.z, memoryStream);
 22947                WriteSingleToStream(rotation.w, memoryStream);
 22948                WriteSingleToStream(scale.x, memoryStream);
 22949                WriteSingleToStream(scale.y, memoryStream);
 22950                WriteSingleToStream(scale.z, memoryStream);
 51
 22952                return Convert.ToBase64String(memoryStream.GetBuffer());
 53            }
 22954        }
 55    }
 56}