Ejemplo n.º 1
0
        public static Random CreateRandom(int seedFactor, SeedVariatorType seedVariatorType)
        {
            EnsureInitialized();
            MethodBase caller = null;
            int        seed   = unchecked (seedFactor + globalSeedFactor + GetSeedVariatorFactor(seedVariatorType, ref caller));

            if (DebugInfo.IsRunningOnBuildServer)
            {
                TestLog.Info("RandomManager: Created Random has seed {0}.", seed);
#if DEBUG
                if (caller == null)
                {
                    caller = GetCallingMethod();
                }
                TestLog.Info("RandomManager: Caller: {0}.{1}.", caller.DeclaringType.Name, caller.Name);
#endif
            }
            return(new Random(seed));
        }
Ejemplo n.º 2
0
        private static int GetSeedVariatorFactor(SeedVariatorType seedVariatorType, ref MethodBase caller)
        {
            if (seedVariatorType == SeedVariatorType.None)
            {
                return(0);
            }
            int seedFactor = 0;

            if ((seedVariatorType & SeedVariatorType.CallingAssembly) != 0)
            {
                seedFactor += Path.GetFileName(Assembly.GetCallingAssembly().Location).GetHashCode();
            }
            caller = null;
            if ((seedVariatorType & SeedVariatorType.CallingMethod) != 0)
            {
                if (caller == null)
                {
                    caller = GetCallingMethod();
                }
                seedFactor += caller.Name.GetHashCode();
            }
            if ((seedVariatorType & SeedVariatorType.CallingMethod) != 0 ||
                (seedVariatorType & SeedVariatorType.CallingType) != 0)
            {
                if (caller == null)
                {
                    caller = GetCallingMethod();
                }
                seedFactor += caller.DeclaringType.FullName.GetHashCode();
            }
            if ((seedVariatorType & SeedVariatorType.Day) != 0)
            {
                seedFactor += DateTime.Today.DayOfYear;
            }
            return(seedFactor);
        }
Ejemplo n.º 3
0
 public override Random CreateRandom2(SeedVariatorType variatorType)
 {
     return(RandomManager.CreateRandom(variatorType));
 }
Ejemplo n.º 4
0
 public virtual Random CreateRandom2(SeedVariatorType variatorType)
 {
     return(RandomManager.CreateRandom(variatorType));
 }
Ejemplo n.º 5
0
 public static Random CreateRandom(SeedVariatorType seedVariatorType)
 {
     return(CreateRandom(0, seedVariatorType));
 }