< Summary

Class:GDX.Mathematics.Random.RandomWrapper
Assembly:GDX
File(s):D:/BuildAgent/work/GDX-Documentation/Projects/GDX_Development/Packages/com.dotbunny.gdx/GDX/Mathematics/Random/RandomWrapper.cs
Covered lines:35
Uncovered lines:0
Coverable lines:35
Total lines:74
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)

D:/BuildAgent/work/GDX-Documentation/Projects/GDX_Development/Packages/com.dotbunny.gdx/GDX/Mathematics/Random/RandomWrapper.cs

#LineLine coverage
 1// Copyright (c) 2020-2022 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        }
 1415        public RandomWrapper(int seed)
 1416        {
 1417            m_Random = new System.Random(seed);
 1418        }
 19
 20        /// <inheritdoc />
 21        public bool NextBoolean(float chance = 0.5f)
 222        {
 223            return m_Random.NextDouble() <= chance;
 224        }
 25
 26        /// <inheritdoc />
 27        public void NextBytes(byte[] buffer)
 128        {
 129            m_Random.NextBytes(buffer);
 130        }
 31
 32        /// <inheritdoc />
 33        public double NextDouble(double minValue = 0, double maxValue = 1)
 134        {
 135            return Range.GetDouble(Sample(), minValue, maxValue);
 136        }
 37
 38        /// <inheritdoc />
 39        public int NextInteger(int minValue = 0, int maxValue = int.MaxValue)
 2540        {
 2541            return Range.GetInteger(Sample(), minValue, maxValue);
 2542        }
 43
 44        /// <inheritdoc />
 45        public int NextIntegerExclusive(int minValue = 0, int maxValue = int.MaxValue)
 146        {
 147            return Range.GetInteger(Sample(), minValue + 1, maxValue - 1);
 148        }
 49
 50        /// <inheritdoc />
 51        public float NextSingle(float minValue = 0, float maxValue = 1)
 152        {
 153            return Range.GetSingle(Sample(), minValue, maxValue);
 154        }
 55
 56        /// <inheritdoc />
 57        public uint NextUnsignedInteger(uint minValue = uint.MinValue, uint maxValue = uint.MaxValue)
 158        {
 159            return Range.GetUnsignedInteger(Sample(), minValue, maxValue);
 160        }
 61
 62        /// <inheritdoc />
 63        public uint NextUnsignedIntegerExclusive(uint minValue = uint.MinValue, uint maxValue = uint.MaxValue)
 164        {
 165            return Range.GetUnsignedInteger(Sample(), minValue + 1, maxValue - 1);
 166        }
 67
 68        /// <inheritdoc />
 69        public double Sample()
 3070        {
 3071            return m_Random.NextDouble();
 3072        }
 73    }
 74}