mirror of
https://github.com/MoleskiCoder/EightBitNet.git
synced 2025-06-16 16:23:29 +00:00
86 lines
2.4 KiB
C#
86 lines
2.4 KiB
C#
namespace EightBit.UnitTest
|
|
{
|
|
using EightBit;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
[TestClass]
|
|
public class DeviceTests
|
|
{
|
|
[TestMethod]
|
|
public void Device_InitialState_IsNotPowered()
|
|
{
|
|
var device = new Device();
|
|
Assert.IsFalse(device.Powered);
|
|
Assert.AreEqual(PinLevel.Low, device.POWER);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Device_RaisePOWER_SetsPoweredHigh_AndFiresEvents()
|
|
{
|
|
var device = new Device();
|
|
bool raising = false, raised = false;
|
|
|
|
device.RaisingPOWER += (s, e) => raising = true;
|
|
device.RaisedPOWER += (s, e) => raised = true;
|
|
|
|
device.RaisePOWER();
|
|
|
|
Assert.IsTrue(device.Powered);
|
|
Assert.AreEqual(PinLevel.High, device.POWER);
|
|
Assert.IsTrue(raising);
|
|
Assert.IsTrue(raised);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Device_LowerPOWER_SetsPoweredLow_AndFiresEvents()
|
|
{
|
|
var device = new Device();
|
|
device.RaisePOWER(); // Set to High first
|
|
|
|
bool lowering = false, lowered = false;
|
|
device.LoweringPOWER += (s, e) => lowering = true;
|
|
device.LoweredPOWER += (s, e) => lowered = true;
|
|
|
|
device.LowerPOWER();
|
|
|
|
Assert.IsFalse(device.Powered);
|
|
Assert.AreEqual(PinLevel.Low, device.POWER);
|
|
Assert.IsTrue(lowering);
|
|
Assert.IsTrue(lowered);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Device_RaisePOWER_DoesNothing_IfAlreadyHigh()
|
|
{
|
|
var device = new Device();
|
|
device.RaisePOWER();
|
|
|
|
bool raising = false, raised = false;
|
|
device.RaisingPOWER += (s, e) => raising = true;
|
|
device.RaisedPOWER += (s, e) => raised = true;
|
|
|
|
device.RaisePOWER();
|
|
|
|
Assert.IsTrue(device.Powered);
|
|
Assert.IsFalse(raising);
|
|
Assert.IsFalse(raised);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Device_LowerPOWER_DoesNothing_IfAlreadyLow()
|
|
{
|
|
var device = new Device();
|
|
|
|
bool lowering = false, lowered = false;
|
|
device.LoweringPOWER += (s, e) => lowering = true;
|
|
device.LoweredPOWER += (s, e) => lowered = true;
|
|
|
|
device.LowerPOWER();
|
|
|
|
Assert.IsFalse(device.Powered);
|
|
Assert.IsFalse(lowering);
|
|
Assert.IsFalse(lowered);
|
|
}
|
|
}
|
|
}
|