mirror of https://github.com/icedland/iced.git
Move decoder constant tests to the correct file, add some checks
This commit is contained in:
parent
f756750f9d
commit
3649e8c880
|
@ -24,6 +24,48 @@ using Xunit;
|
|||
|
||||
namespace Iced.UnitTests.Intel.DecoderTests {
|
||||
public sealed class MiscTests : DecoderTest {
|
||||
[Fact]
|
||||
void Verify_NumberOfCodeValues() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(Code).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfCodeValues, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Verify_NumberOfRegisters() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(Register).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfRegisters, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Verify_NumberOfMemorySizes() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(MemorySize).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfMemorySizes, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Test16_too_long_instruction() {
|
||||
var decoder = CreateDecoder16("26 26 26 26 26 26 26 26 26 26 26 26 26 66 01 CE");
|
||||
|
|
|
@ -29,6 +29,7 @@ namespace Iced.UnitTests.Intel.EncoderTests {
|
|||
var handlers = OpCodeHandlers.Handlers;
|
||||
for (int i = 0; i < handlers.Length; i++)
|
||||
Assert.Equal((Code)i, handlers[i].TEST_Code);
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfCodeValues, handlers.Length);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
@ -25,48 +25,6 @@ using Xunit;
|
|||
|
||||
namespace Iced.UnitTests.Intel.FormatterTests {
|
||||
public sealed class MiscTests {
|
||||
[Fact]
|
||||
void Verify_FormatterConstants_NumberOfCodeValues() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(Code).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfCodeValues, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Verify_FormatterConstants_NumberOfRegisters() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(Register).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfRegisters, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Verify_FormatterConstants_NumberOfMemorySizes() {
|
||||
int numValues = -1;
|
||||
foreach (var f in typeof(MemorySize).GetFields()) {
|
||||
if (f.IsLiteral) {
|
||||
int value = (int)f.GetValue(null);
|
||||
Assert.Equal(numValues + 1, value);
|
||||
numValues = value;
|
||||
}
|
||||
}
|
||||
numValues++;
|
||||
Assert.Equal(Iced.Intel.DecoderConstants.NumberOfMemorySizes, numValues);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
void Make_sure_all_Code_values_are_formatted() {
|
||||
int numCodeValues = -1;
|
||||
|
|
|
@ -67,6 +67,7 @@ namespace Iced.UnitTests.Intel.InstructionInfoTests {
|
|||
|
||||
[Fact]
|
||||
void Verify_Code_values_in_InfoHandlers_table() {
|
||||
Assert.Equal(InfoHandlers.Data.Length, 2 * Iced.Intel.DecoderConstants.NumberOfCodeValues);
|
||||
for (int i = 0; i < Iced.Intel.DecoderConstants.NumberOfCodeValues; i++) {
|
||||
var code = (Code)(InfoHandlers.Data[i * 2] & (uint)InfoFlags1.CodeMask);
|
||||
Assert.Equal((Code)i, code);
|
||||
|
|
Loading…
Reference in New Issue