EightBitNet/UnitTestEightBit/ChipUnitTest.cs

254 lines
5.4 KiB
C#
Raw Normal View History

namespace UnitTestEightBit
{
using Microsoft.VisualStudio.TestTools.UnitTesting;
using EightBit;
[TestClass]
public class ChipUnitTest
{
#region LowByte
[TestMethod]
public void TestLowByte()
{
ushort input = 0xf00f;
byte low = Chip.LowByte(input);
Assert.AreEqual(0xf, low);
}
#endregion
#region HighByte
[TestMethod]
public void TestHighByte()
{
ushort input = 0xf00f;
byte high = Chip.HighByte(input);
Assert.AreEqual(0xf0, high);
}
#endregion
#region ClearFlag
[TestMethod]
public void TestClearFlag()
{
byte flags = 0xff;
flags = Chip.ClearFlag(flags, 0x80);
Assert.AreEqual(0x7f, flags);
}
[TestMethod]
public void TestClearFlagNonZero()
{
byte flags = 0xff;
flags = Chip.ClearFlag(flags, 0x80, 1);
Assert.AreEqual(0x7f, flags);
}
[TestMethod]
public void TestClearFlagZero()
{
byte flags = 0xff;
flags = Chip.ClearFlag(flags, 0x80, 0);
Assert.AreEqual(0xff, flags);
}
[TestMethod]
public void TestClearFlagFalse()
{
byte flags = 0xff;
flags = Chip.ClearFlag(flags, 0x80, false);
Assert.AreEqual(0xff, flags);
}
[TestMethod]
public void TestClearFlagTrue()
{
byte flags = 0xff;
flags = Chip.ClearFlag(flags, 0x80, true);
Assert.AreEqual(0x7f, flags);
}
#endregion
#region SetFlag
[TestMethod]
public void TestSetFlag()
{
byte flags = 0x7f;
flags = Chip.SetFlag(flags, 0x80);
Assert.AreEqual(0xff, flags);
}
[TestMethod]
public void TestSetFlagNonZero()
{
byte flags = 0x7f;
flags = Chip.SetFlag(flags, 0x80, 1);
Assert.AreEqual(0xff, flags);
}
[TestMethod]
public void TestSetFlagZero()
{
byte flags = 0x7f;
flags = Chip.SetFlag(flags, 0x80, 0);
Assert.AreEqual(0x7f, flags);
}
[TestMethod]
public void TestSetFlagFalse()
{
byte flags = 0x7f;
flags = Chip.SetFlag(flags, 0x80, false);
Assert.AreEqual(0x7f, flags);
}
[TestMethod]
public void TestSetFlagTrue()
{
byte flags = 0x7f;
flags = Chip.SetFlag(flags, 0x80, true);
Assert.AreEqual(0xff, flags);
}
#endregion
#region LowerPart
[TestMethod]
public void TestLowerPart()
{
ushort input = 0xf00f;
ushort lower = Chip.LowerPart(input);
Assert.AreEqual(0xf, lower);
}
#endregion
#region HigherPart
[TestMethod]
public void TestHigherPart()
{
ushort input = 0xf00f;
ushort higher = Chip.HigherPart(input);
Assert.AreEqual(0xf000, higher);
}
#endregion
#region DemoteByte
[TestMethod]
public void TestDemoteByte()
{
ushort input = 0xf00f;
byte demoted = Chip.DemoteByte(input);
Assert.AreEqual(0xf0, demoted);
}
#endregion
#region PromoteByte
[TestMethod]
public void TestPromoteByte()
{
byte input = 0xf0;
ushort promoted = Chip.PromoteByte(input);
Assert.AreEqual(0xf000, promoted);
}
#endregion
#region LowNibble
[TestMethod]
public void TestLowNibble()
{
byte input = 0xab;
int nibble = Chip.LowNibble(input);
Assert.AreEqual(0xb, nibble);
}
#endregion
#region HighNibble
[TestMethod]
public void TestHighNibble()
{
byte input = 0xab;
int nibble = Chip.HighNibble(input);
Assert.AreEqual(0xa, nibble);
}
#endregion
#region DemoteNibble
[TestMethod]
public void TestDemoteNibble()
{
byte input = 0xab;
int nibble = Chip.DemoteNibble(input);
Assert.AreEqual(0xa, nibble);
}
#endregion
#region PromoteNibble
[TestMethod]
public void TestPromoteNibble()
{
byte input = 0xab;
int nibble = Chip.PromoteNibble(input);
Assert.AreEqual(0xb0, nibble);
}
#endregion
#region HigherNibble
[TestMethod]
public void TestHigherNibble()
{
byte input = 0xab;
int nibble = Chip.HigherNibble(input);
Assert.AreEqual(0xa0, nibble);
}
#endregion
#region LowerNibble
[TestMethod]
public void TestLowerNibble()
{
byte input = 0xab;
int nibble = Chip.LowerNibble(input);
Assert.AreEqual(0xb, nibble);
}
#endregion
#region MakeWord
[TestMethod]
public void TestMakeWord()
{
ushort word = Chip.MakeWord(0xcd, 0xab);
Assert.AreEqual(0xabcd, word);
}
#endregion
}
}