< Summary

Class:VariableTests.FloatVariableShould
Assembly:BaseVariableTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/ScriptableObject/Variables/Tests/VariableTests.cs
Covered lines:2
Uncovered lines:0
Coverable lines:2
Total lines:71
Line coverage:100% (2 of 2)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
NotCallOnChangedWhenSameValueIsSet()0%110100%
VariableValueIsChangedProperly()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/ScriptableObject/Variables/Tests/VariableTests.cs

#LineLine coverage
 1using UnityEngine;
 2using UnityEngine.Assertions;
 3
 4namespace VariableTests
 5{
 6    public class BaseVariableTest<ValueType, VariableType>
 7        where VariableType : BaseVariableAsset<ValueType>
 8    {
 9        protected void VariableValueIsChangedProperly(ValueType value1, ValueType value2)
 10        {
 11            var variable = ScriptableObject.CreateInstance<VariableType>();
 12
 13            variable.Set(value1);
 14
 15            Assert.IsTrue(variable.Equals(value1));
 16
 17            variable.Set(value2);
 18
 19            Assert.IsTrue(variable.Equals(value2));
 20        }
 21
 22        protected void ShouldNotCallOnChangedWhenSameValueIsSet(ValueType value1, ValueType value2)
 23        {
 24            var variable = ScriptableObject.CreateInstance<VariableType>();
 25
 26            bool onChangeWasCalled = false;
 27
 28            BaseVariableAsset<ValueType>.Change onChange = (x, y) => { onChangeWasCalled = true; };
 29
 30            variable.OnChange += onChange;
 31
 32            variable.Set(value1);
 33            variable.Set(value1);
 34
 35            Assert.IsFalse(onChangeWasCalled);
 36
 37            variable.Set(value2);
 38
 39            Assert.IsTrue(onChangeWasCalled);
 40
 41            variable.OnChange -= onChange;
 42        }
 43    }
 44
 45    public class FloatVariableShould : BaseVariableTest<float, FloatVariable>
 46    {
 47        [NUnit.Framework.Test]
 248        public void NotCallOnChangedWhenSameValueIsSet() { base.ShouldNotCallOnChangedWhenSameValueIsSet(0, 1); }
 49
 50        [NUnit.Framework.Test]
 251        public void VariableValueIsChangedProperly() { base.VariableValueIsChangedProperly(0, 1); }
 52    }
 53
 54    public class Vector2IntVariableShould : BaseVariableTest<Vector2Int, Vector2IntVariable>
 55    {
 56        [NUnit.Framework.Test]
 57        public void NotCallOnChangedWhenSameValueIsSet() { base.ShouldNotCallOnChangedWhenSameValueIsSet(new Vector2Int(
 58
 59        [NUnit.Framework.Test]
 60        public void VariableValueIsChangedProperly() { base.VariableValueIsChangedProperly(new Vector2Int(0, 0), new Vec
 61    }
 62
 63    public class Vector3VariableShould : BaseVariableTest<Vector3, Vector3Variable>
 64    {
 65        [NUnit.Framework.Test]
 66        public void NotCallOnChangedWhenSameValueIsSet() { base.ShouldNotCallOnChangedWhenSameValueIsSet(new Vector3(0, 
 67
 68        [NUnit.Framework.Test]
 69        public void VariableValueIsChangedProperly() { base.VariableValueIsChangedProperly(new Vector3(0, 0, 0), new Vec
 70    }
 71}