Add UPS, powersupply and frozen device to random network.

This commit is contained in:
2018-02-17 17:11:51 +00:00
parent b4f11fcee9
commit eaae8c84fc
4 changed files with 54 additions and 1 deletions

View File

@ -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)
{