mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Create and use constructors in Skippers
This commit is contained in:
@@ -11,42 +11,12 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public Atari7800()
|
public Atari7800()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("1", "415441524937383030", true);
|
||||||
{
|
var rule2Test1 = new DataTest("64", "41435455414C20434152542044415441205354415254532048455245", true);
|
||||||
Offset = "1",
|
|
||||||
Value = "415441524937383030",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "64",
|
|
||||||
Value = "41435455414C20434152542044415441205354415254532048455245",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("80", "EOF", HeaderSkipOperation.None, [rule1Test1], "a7800");
|
||||||
{
|
var rule2 = new Rule("80", "EOF", HeaderSkipOperation.None, [rule2Test1], "a7800");
|
||||||
StartOffset = "80",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "80",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Atari 7800";
|
Name = "Atari 7800";
|
||||||
|
|||||||
@@ -11,42 +11,12 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public AtariLynx()
|
public AtariLynx()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("0", "4C594E58", true);
|
||||||
{
|
var rule2Test1 = new DataTest("6", "425339", true);
|
||||||
Offset = "0",
|
|
||||||
Value = "4C594E58",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "6",
|
|
||||||
Value = "425339",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("40", "EOF", HeaderSkipOperation.None, [rule1Test1], "lynx");
|
||||||
{
|
var rule2 = new Rule("40", "EOF", HeaderSkipOperation.None, [rule2Test1], "lynx");
|
||||||
StartOffset = "40",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "40",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Atari Lynx";
|
Name = "Atari Lynx";
|
||||||
|
|||||||
@@ -11,96 +11,18 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public CommodorePSID()
|
public CommodorePSID()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("0", "5053494400010076", true);
|
||||||
{
|
var rule2Test1 = new DataTest("0", "505349440003007c", true);
|
||||||
Offset = "0",
|
var rule3Test1 = new DataTest("0", "505349440002007c", true);
|
||||||
Value = "5053494400010076",
|
var rule4Test1 = new DataTest("0", "505349440001007c", true);
|
||||||
Result = true,
|
var rule5Test1 = new DataTest("0", "525349440002007c", true);
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "505349440003007c",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "505349440002007c",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule4Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "505349440001007c",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule5Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "525349440002007c",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("76", "EOF", HeaderSkipOperation.None, [rule1Test1], "psid");
|
||||||
{
|
var rule2 = new Rule("76", "EOF", HeaderSkipOperation.None, [rule2Test1], "psid");
|
||||||
StartOffset = "76",
|
var rule3 = new Rule("7c", "EOF", HeaderSkipOperation.None, [rule3Test1], "psid");
|
||||||
EndOffset = "EOF",
|
var rule4 = new Rule("7c", "EOF", HeaderSkipOperation.None, [rule4Test1], "psid");
|
||||||
Operation = HeaderSkipOperation.None,
|
var rule5 = new Rule("7c", "EOF", HeaderSkipOperation.None, [rule5Test1], "psid");
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "76",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "7c",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule3Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule4 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "7c",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule4Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule5 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "7c",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule5Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "psid";
|
Name = "psid";
|
||||||
|
|||||||
@@ -11,23 +11,10 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public NECPCEngine()
|
public NECPCEngine()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("0", "4000000000000000AABB02", true);
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "4000000000000000AABB02",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("200", null, HeaderSkipOperation.None, [rule1Test1], "pce");
|
||||||
{
|
|
||||||
StartOffset = "200",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "NEC TurboGrafx-16/PC-Engine";
|
Name = "NEC TurboGrafx-16/PC-Engine";
|
||||||
|
|||||||
@@ -11,60 +11,14 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public Nintendo64()
|
public Nintendo64()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var v64Test = new DataTest("0", "80371240", true);
|
||||||
{
|
var z64Test = new DataTest("0", "37804012", true);
|
||||||
Offset = "0",
|
var n64Test = new DataTest("0", "40123780", true);
|
||||||
Value = "80371240",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "37804012",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "40123780",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var v64Rule = new Rule("0", "EOF", HeaderSkipOperation.None, [v64Test], "n64");
|
||||||
{
|
var z64Rule = new Rule("0", "EOF", HeaderSkipOperation.Byteswap, [z64Test], "n64");
|
||||||
StartOffset = "0",
|
var n64Rule = new Rule("0", "EOF", HeaderSkipOperation.Wordswap, [n64Test], "n64");
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "0",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.Byteswap,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "0",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.Wordswap,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule3Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Nintendo 64 - ABCD";
|
Name = "Nintendo 64 - ABCD";
|
||||||
@@ -73,9 +27,9 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
SourceFile = "n64";
|
SourceFile = "n64";
|
||||||
Rules =
|
Rules =
|
||||||
[
|
[
|
||||||
rule1, // V64
|
v64Rule,
|
||||||
rule2, // Z64
|
z64Rule,
|
||||||
rule3, // N64
|
n64Rule,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,24 +11,10 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public NintendoEntertainmentSystem()
|
public NintendoEntertainmentSystem()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var inesTest = new DataTest("0", "4E45531A", true);
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "4E45531A",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var inesRule = new Rule("10", "EOF", HeaderSkipOperation.None, [inesTest], "nes");
|
||||||
{
|
|
||||||
StartOffset = "10",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Nintendo Famicon/NES";
|
Name = "Nintendo Famicon/NES";
|
||||||
@@ -37,7 +23,7 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
SourceFile = "nes";
|
SourceFile = "nes";
|
||||||
Rules =
|
Rules =
|
||||||
[
|
[
|
||||||
rule1,
|
inesRule,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,70 +11,16 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public NintendoFamicomDiskSystem()
|
public NintendoFamicomDiskSystem()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("0", "4644531A010000000000000000000000", true);
|
||||||
{
|
var rule2Test1 = new DataTest("0", "4644531A020000000000000000000000", true);
|
||||||
Offset = "0",
|
var rule3Test1 = new DataTest("0", "4644531A030000000000000000000000", true);
|
||||||
Value = "4644531A010000000000000000000000",
|
var rule4Test1 = new DataTest("0", "4644531A040000000000000000000000", true);
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "4644531A020000000000000000000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "4644531A030000000000000000000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule4Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "4644531A040000000000000000000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("10", null, HeaderSkipOperation.None, [rule1Test1], "fds");
|
||||||
{
|
var rule2 = new Rule("10", null, HeaderSkipOperation.None, [rule2Test1], "fds");
|
||||||
StartOffset = "10",
|
var rule3 = new Rule("10", null, HeaderSkipOperation.None, [rule3Test1], "fds");
|
||||||
Operation = HeaderSkipOperation.None,
|
var rule4 = new Rule("10", null, HeaderSkipOperation.None, [rule4Test1], "fds");
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "10",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "10",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule3Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule4 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "10",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule4Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "fds";
|
Name = "fds";
|
||||||
|
|||||||
@@ -11,24 +11,10 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public SuperFamicomSPC()
|
public SuperFamicomSPC()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var rule1Test1 = new DataTest("0", "534E45532D535043", true);
|
||||||
{
|
|
||||||
Offset = "0",
|
|
||||||
Value = "534E45532D535043",
|
|
||||||
Result = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var rule1 = new Rule("00100", "EOF", HeaderSkipOperation.None, [rule1Test1], "spc");
|
||||||
{
|
|
||||||
StartOffset = "00100",
|
|
||||||
EndOffset = "EOF",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Nintendo Super Famicon SPC";
|
Name = "Nintendo Super Famicon SPC";
|
||||||
|
|||||||
@@ -11,54 +11,14 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
public SuperNintendoEntertainmentSystem()
|
public SuperNintendoEntertainmentSystem()
|
||||||
{
|
{
|
||||||
// Create tests
|
// Create tests
|
||||||
var rule1Test1 = new DataTest
|
var figTest = new DataTest("16", "0000000000000000", true);
|
||||||
{
|
var smcTest = new DataTest("16", "AABB040000000000", true);
|
||||||
Offset = "16",
|
var ufoTest = new DataTest("16", "535550455255464F", true);
|
||||||
Value = "0000000000000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "16",
|
|
||||||
Value = "AABB040000000000",
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3Test1 = new DataTest
|
|
||||||
{
|
|
||||||
Offset = "16",
|
|
||||||
Value = "535550455255464F",
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create rules
|
// Create rules
|
||||||
var rule1 = new Rule
|
var figRule = new Rule("200", null, HeaderSkipOperation.None, [figTest], "snes");
|
||||||
{
|
var smcRule = new Rule("200", null, HeaderSkipOperation.None, [smcTest], "snes");
|
||||||
StartOffset = "200",
|
var ufoRule = new Rule("200", null, HeaderSkipOperation.None, [ufoTest], "snes");
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule1Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule2 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "200",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule2Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
var rule3 = new Rule
|
|
||||||
{
|
|
||||||
StartOffset = "200",
|
|
||||||
Operation = HeaderSkipOperation.None,
|
|
||||||
Tests =
|
|
||||||
[
|
|
||||||
rule3Test1,
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Create file
|
// Create file
|
||||||
Name = "Nintendo Super Famicom/SNES";
|
Name = "Nintendo Super Famicom/SNES";
|
||||||
@@ -67,9 +27,9 @@ namespace SabreTools.Skippers.Detectors
|
|||||||
SourceFile = "snes";
|
SourceFile = "snes";
|
||||||
Rules =
|
Rules =
|
||||||
[
|
[
|
||||||
rule1, // FIG
|
figRule,
|
||||||
rule2, // SMC
|
smcRule,
|
||||||
rule3, // UFO
|
ufoRule,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,18 @@ namespace SabreTools.Skippers
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public Rule(string? startOffset, string? endOffset, HeaderSkipOperation operation, Test[]? tests, string? sourceFile)
|
||||||
|
{
|
||||||
|
StartOffset = startOffset;
|
||||||
|
EndOffset = endOffset;
|
||||||
|
Operation = operation;
|
||||||
|
Tests = tests;
|
||||||
|
SourceFile = sourceFile;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Check if a Stream passes all tests in the Rule
|
/// Check if a Stream passes all tests in the Rule
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -80,6 +80,17 @@ namespace SabreTools.Skippers.Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public AndTest(string? offset, string? value, bool result, string? mask)
|
||||||
|
{
|
||||||
|
Offset = offset;
|
||||||
|
Value = value;
|
||||||
|
Result = result;
|
||||||
|
Mask = mask;
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override bool Passes(Stream input)
|
public override bool Passes(Stream input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -64,6 +64,16 @@ namespace SabreTools.Skippers.Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public DataTest(string? offset, string? value, bool result)
|
||||||
|
{
|
||||||
|
Offset = offset;
|
||||||
|
Value = value;
|
||||||
|
Result = result;
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override bool Passes(Stream input)
|
public override bool Passes(Stream input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace SabreTools.Skippers.Tests
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>Either numeric or the literal "po2"</remarks>
|
/// <remarks>Either numeric or the literal "po2"</remarks>
|
||||||
[XmlAttribute("size")]
|
[XmlAttribute("size")]
|
||||||
public string Size
|
public string? Size
|
||||||
{
|
{
|
||||||
get => _size == null ? "po2" : _size.Value.ToString();
|
get => _size == null ? "po2" : _size.Value.ToString();
|
||||||
set
|
set
|
||||||
@@ -54,6 +54,16 @@ namespace SabreTools.Skippers.Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public FileTest(bool result, string? size, HeaderSkipTestFileOperator opr)
|
||||||
|
{
|
||||||
|
Result = result;
|
||||||
|
Size = size;
|
||||||
|
Operator = opr;
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override bool Passes(Stream input)
|
public override bool Passes(Stream input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -80,6 +80,17 @@ namespace SabreTools.Skippers.Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public OrTest(string? offset, string? value, bool result, string? mask)
|
||||||
|
{
|
||||||
|
Offset = offset;
|
||||||
|
Value = value;
|
||||||
|
Result = result;
|
||||||
|
Mask = mask;
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override bool Passes(Stream input)
|
public override bool Passes(Stream input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -80,6 +80,17 @@ namespace SabreTools.Skippers.Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public XorTest(string? offset, string? value, bool result, string? mask)
|
||||||
|
{
|
||||||
|
Offset = offset;
|
||||||
|
Value = value;
|
||||||
|
Result = result;
|
||||||
|
Mask = mask;
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override bool Passes(Stream input)
|
public override bool Passes(Stream input)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user