< Summary

Class:NFTShapeVisualTests
Assembly:LoadableShapesTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/LoadableShapes/Tests/NFTShapeVisualTests.cs
Covered lines:0
Uncovered lines:44
Coverable lines:44
Total lines:136
Line coverage:0% (0 of 44)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%6200%
NFTShapeVisualTests1_Generate()0%12300%
NFTShapeVisualTests1()0%30500%
NFTShapeVisualTests2_Generate()0%12300%
NFTShapeVisualTests2()0%30500%
NFTShapeVisualTests3_Generate()0%12300%
NFTShapeVisualTests3()0%30500%
NFTShapeVisualTests4_Generate()0%12300%
NFTShapeVisualTests4()0%30500%
SpawnNFTShapes()0%30500%
InstantiateNFTShape()0%20400%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/LoadableShapes/Tests/NFTShapeVisualTests.cs

#LineLine coverage
 1using DCL;
 2using DCL.Components;
 3using DCL.Helpers;
 4using DCL.Models;
 5using NUnit.Framework;
 6using System.Collections;
 7using UnityEngine;
 8using UnityEngine.TestTools;
 9
 10public class NFTShapeVisualTests : VisualTestsBase
 11{
 012    protected override IEnumerator SetUp() { yield break; }
 13
 14    [UnityTest]
 15    [VisualTest]
 16    [Explicit]
 17    [Category("Explicit")]
 018    public IEnumerator NFTShapeVisualTests1_Generate() { yield return VisualTestHelpers.GenerateBaselineForTest(NFTShape
 19
 20    [UnityTest]
 21    [VisualTest]
 22    [Explicit("Works locally but breaks in CI")]
 23    [Category("Visual Tests")]
 24    public IEnumerator NFTShapeVisualTests1()
 25    {
 026        yield return InitVisualTestsScene("NFTShapeVisualTest1");
 27
 028        yield return SpawnNFTShapes(0, 6, 3);
 29
 030        yield return VisualTestHelpers.TakeSnapshot(new Vector3(2f, 1.5f, 6.25f));
 031    }
 32
 33    [UnityTest]
 34    [VisualTest]
 35    [Explicit]
 36    [Category("Explicit")]
 037    public IEnumerator NFTShapeVisualTests2_Generate() { yield return VisualTestHelpers.GenerateBaselineForTest(NFTShape
 38
 39    [UnityTest]
 40    [VisualTest]
 41    [Explicit("Works locally but breaks in CI")]
 42    [Category("Visual Tests")]
 43    public IEnumerator NFTShapeVisualTests2()
 44    {
 045        yield return InitVisualTestsScene("NFTShapeVisualTest2");
 46
 047        yield return SpawnNFTShapes(6, 6, 3);
 48
 049        yield return VisualTestHelpers.TakeSnapshot(new Vector3(2f, 1.5f, 6.25f));
 050    }
 51
 52    [UnityTest]
 53    [VisualTest]
 54    [Explicit]
 55    [Category("Explicit")]
 056    public IEnumerator NFTShapeVisualTests3_Generate() { yield return VisualTestHelpers.GenerateBaselineForTest(NFTShape
 57
 58    [UnityTest]
 59    [VisualTest]
 60    [Explicit("Works locally but breaks in CI")]
 61    [Category("Visual Tests")]
 62    public IEnumerator NFTShapeVisualTests3()
 63    {
 064        yield return InitVisualTestsScene("NFTShapeVisualTest3");
 65
 066        yield return SpawnNFTShapes(12, 6, 3);
 67
 068        yield return VisualTestHelpers.TakeSnapshot(new Vector3(2f, 1.5f, 6.25f));
 069    }
 70
 71    [UnityTest]
 72    [VisualTest]
 73    [Explicit]
 74    [Category("Explicit")]
 075    public IEnumerator NFTShapeVisualTests4_Generate() { yield return VisualTestHelpers.GenerateBaselineForTest(NFTShape
 76
 77    [UnityTest]
 78    [VisualTest]
 79    [Explicit("Works locally but breaks in CI")]
 80    [Category("Visual Tests")]
 81    public IEnumerator NFTShapeVisualTests4()
 82    {
 083        yield return InitVisualTestsScene("NFTShapeVisualTest4");
 84
 085        yield return SpawnNFTShapes(18, 5, 3);
 86
 087        yield return VisualTestHelpers.TakeSnapshot(new Vector3(2f, 1.5f, 6.25f));
 088    }
 89
 90    IEnumerator SpawnNFTShapes(int startingTypeIndex, int nftShapeTypesAmount, int maxColumns)
 91    {
 092        int currentCol = 0;
 093        int currentRow = 0;
 094        int prevRow = 0;
 095        float verticalOffset = 1f;
 96
 097        for (int i = 0; i < nftShapeTypesAmount; i++)
 98        {
 099            currentRow = (i / maxColumns);
 0100            if (prevRow != currentRow)
 0101                currentCol = 0;
 102
 0103            currentCol++;
 104
 0105            yield return InstantiateNFTShape(new Vector3(currentCol, currentRow + verticalOffset, 8), startingTypeIndex 
 106
 0107            prevRow = currentRow;
 108        }
 0109    }
 110
 111    IEnumerator InstantiateNFTShape(Vector3 position, int styleIndex)
 112    {
 0113        var entity = TestHelpers.CreateSceneEntity(scene);
 114
 0115        TestHelpers.SetEntityTransform(scene, entity, new DCLTransform.Model { position = position });
 116
 0117        yield return null;
 118
 0119        var componentModel = new NFTShape.Model()
 120        {
 121            src = "ethereum://0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/558536",
 122            color = Color.gray,
 123            style = styleIndex
 124        };
 125
 0126        NFTShape component = TestHelpers.SharedComponentCreate<NFTShape, NFTShape.Model>(scene, CLASS_ID.NFT_SHAPE, comp
 0127        yield return component.routine;
 128
 0129        TestHelpers.SharedComponentAttach(component, entity);
 130
 131        // Override texture with a local test one
 0132        var nftShape = LoadableShape.GetLoaderForEntity(entity) as LoadWrapper_NFT;
 0133        nftShape.loaderController.UpdateTexture(Resources.Load<Texture2D>("TestTexture"));
 0134        nftShape.loaderController.transform.localScale = new Vector3(1.5f, 1.5f, 1f);
 0135    }
 136}