Add UPS, powersupply and frozen device to random network.
This commit is contained in:
@ -2098,6 +2098,7 @@ namespace EduNetworkBuilder
|
||||
if (BrokenItems.Contains(WhatBreak)) return 0; //it was already done
|
||||
NetworkDevice tDevice = null;
|
||||
NetworkLink tLink = null;
|
||||
NetTest tTest = null;
|
||||
if (What is NetworkDevice) tDevice = (NetworkDevice)What;
|
||||
if (What is NetworkLink) tLink = (NetworkLink)What;
|
||||
switch(How)
|
||||
@ -2171,6 +2172,39 @@ namespace EduNetworkBuilder
|
||||
if (How == HowToBreak.WirelessBreakKey && rndEnd.BreakWirelessKey(tnic.NicName()))
|
||||
didit = 2;
|
||||
break;
|
||||
case HowToBreak.BreakDevice:
|
||||
//The device can be frozen, have bad power, or need a UPS, or just be burnt
|
||||
Random rnd = NB.GetRandom();
|
||||
int i = rnd.Next(4);
|
||||
if(i==0)
|
||||
{
|
||||
How = HowToBreak.BreakDevice;
|
||||
Data = "frozen";
|
||||
tTest = new NetTest(What.hostname, What.hostname, NetTestType.DeviceIsFrozen);
|
||||
NetTests.Add(tTest);
|
||||
}
|
||||
else if(i == 1)
|
||||
{
|
||||
How = HowToBreak.BreakDevice;
|
||||
Data = "BlowsUp";
|
||||
tTest = new NetTest(What.hostname, What.hostname, NetTestType.DeviceBlowsUpWithPower);
|
||||
NetTests.Add(tTest);
|
||||
}
|
||||
else if (i == 2)
|
||||
{
|
||||
How = HowToBreak.BreakDevice;
|
||||
Data = "Needs UPS";
|
||||
tTest = new NetTest(What.hostname, What.hostname, NetTestType.DeviceNeedsUPS);
|
||||
NetTests.Add(tTest);
|
||||
}
|
||||
else if (i == 3)
|
||||
{
|
||||
How = HowToBreak.BreakDevice;
|
||||
Data = "burnt";
|
||||
tDevice.IsBurned = true; //Burn the device
|
||||
}
|
||||
didit = 1;
|
||||
break;
|
||||
}
|
||||
if(didit > 0)
|
||||
BrokenItems.Add(WhatBreak);
|
||||
@ -2199,6 +2233,9 @@ namespace EduNetworkBuilder
|
||||
//Fail if we cannot do it
|
||||
TraversalTechnology WhatNeeded = NB.TechnologyNeededToBreak(How);
|
||||
|
||||
if (How == HowToBreak.BreakDevice)
|
||||
Console.WriteLine("Trying to break it");
|
||||
|
||||
int count = 0;
|
||||
while(count < 3)
|
||||
{
|
||||
|
Reference in New Issue
Block a user