< Summary

Class:GDX.Mathematics.Random.RandomWrapper
Assembly:GDX
File(s):./Packages/com.dotbunny.gdx/GDX/Mathematics/Random/RandomWrapper.cs
Covered lines:35
Uncovered lines:0
Coverable lines:35
Total lines:75
Line coverage:100% (35 of 35)
Covered branches:0
Total branches:0
Covered methods:11
Total methods:11
Method coverage:100% (11 of 11)

Coverage History

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RandomWrapper()0%110100%
RandomWrapper(...)0%110100%
NextBoolean(...)0%110100%
NextBytes(...)0%110100%
NextDouble(...)0%110100%
NextInteger(...)0%110100%
NextIntegerExclusive(...)0%110100%
NextSingle(...)0%110100%
NextUnsignedInteger(...)0%110100%
NextUnsignedIntegerExclusive(...)0%110100%
Sample()0%110100%

File(s)

./Packages/com.dotbunny.gdx/GDX/Mathematics/Random/RandomWrapper.cs

#LineLine coverage
 1// Copyright (c) 2020-2024 dotBunny Inc.
 2// dotBunny licenses this file to you under the BSL-1.0 license.
 3// See the LICENSE file in the project root for more information.
 4
 5namespace GDX.Mathematics.Random
 6{
 7    public class RandomWrapper : IRandomProvider
 8    {
 9        readonly System.Random m_Random;
 10
 111        public RandomWrapper()
 112        {
 113            m_Random = new System.Random();
 114        }
 15
 1416        public RandomWrapper(int seed)
 1417        {
 1418            m_Random = new System.Random(seed);
 1419        }
 20
 21        /// <inheritdoc />
 22        public bool NextBoolean(float chance = 0.5f)
 223        {
 224            return m_Random.NextDouble() <= chance;
 225        }
 26
 27        /// <inheritdoc />
 28        public void NextBytes(byte[] buffer)
 129        {
 130            m_Random.NextBytes(buffer);
 131        }
 32
 33        /// <inheritdoc />
 34        public double NextDouble(double minValue = 0, double maxValue = 1)
 135        {
 136            return Range.GetDouble(Sample(), minValue, maxValue);
 137        }
 38
 39        /// <inheritdoc />
 40        public int NextInteger(int minValue = 0, int maxValue = int.MaxValue)
 2541        {
 2542            return Range.GetInteger(Sample(), minValue, maxValue);
 2543        }
 44
 45        /// <inheritdoc />
 46        public int NextIntegerExclusive(int minValue = 0, int maxValue = int.MaxValue)
 147        {
 148            return Range.GetInteger(Sample(), minValue + 1, maxValue - 1);
 149        }
 50
 51        /// <inheritdoc />
 52        public float NextSingle(float minValue = 0, float maxValue = 1)
 153        {
 154            return Range.GetSingle(Sample(), minValue, maxValue);
 155        }
 56
 57        /// <inheritdoc />
 58        public uint NextUnsignedInteger(uint minValue = uint.MinValue, uint maxValue = uint.MaxValue)
 159        {
 160            return Range.GetUnsignedInteger(Sample(), minValue, maxValue);
 161        }
 62
 63        /// <inheritdoc />
 64        public uint NextUnsignedIntegerExclusive(uint minValue = uint.MinValue, uint maxValue = uint.MaxValue)
 165        {
 166            return Range.GetUnsignedInteger(Sample(), minValue + 1, maxValue - 1);
 167        }
 68
 69        /// <inheritdoc />
 70        public double Sample()
 3071        {
 3072            return m_Random.NextDouble();
 3073        }
 74    }
 75}

Coverage by test methods















Methods/Properties

RandomWrapper()
RandomWrapper(System.Int32)
NextBoolean(System.Single)
NextBytes(System.Byte[])
NextDouble(System.Double, System.Double)
NextInteger(System.Int32, System.Int32)
NextIntegerExclusive(System.Int32, System.Int32)
NextSingle(System.Single, System.Single)
NextUnsignedInteger(System.UInt32, System.UInt32)
NextUnsignedIntegerExclusive(System.UInt32, System.UInt32)
Sample()