mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add notes, numeric helper
This commit is contained in:
123
SabreTools.Core/Tools/NumberHelper.cs
Normal file
123
SabreTools.Core/Tools/NumberHelper.cs
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace SabreTools.Core.Tools
|
||||||
|
{
|
||||||
|
public static class NumberHelper
|
||||||
|
{
|
||||||
|
#region Constants
|
||||||
|
|
||||||
|
#region Byte (1000-based) size comparisons
|
||||||
|
|
||||||
|
private const long KiloByte = 1000;
|
||||||
|
private readonly static long MegaByte = (long)Math.Pow(KiloByte, 2);
|
||||||
|
private readonly static long GigaByte = (long)Math.Pow(KiloByte, 3);
|
||||||
|
private readonly static long TeraByte = (long)Math.Pow(KiloByte, 4);
|
||||||
|
private readonly static long PetaByte = (long)Math.Pow(KiloByte, 5);
|
||||||
|
private readonly static long ExaByte = (long)Math.Pow(KiloByte, 6);
|
||||||
|
private readonly static long ZettaByte = (long)Math.Pow(KiloByte, 7);
|
||||||
|
private readonly static long YottaByte = (long)Math.Pow(KiloByte, 8);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Byte (1024-based) size comparisons
|
||||||
|
|
||||||
|
private const long KibiByte = 1024;
|
||||||
|
private readonly static long MibiByte = (long)Math.Pow(KibiByte, 2);
|
||||||
|
private readonly static long GibiByte = (long)Math.Pow(KibiByte, 3);
|
||||||
|
private readonly static long TibiByte = (long)Math.Pow(KibiByte, 4);
|
||||||
|
private readonly static long PibiByte = (long)Math.Pow(KibiByte, 5);
|
||||||
|
private readonly static long ExiByte = (long)Math.Pow(KibiByte, 6);
|
||||||
|
private readonly static long ZittiByte = (long)Math.Pow(KibiByte, 7);
|
||||||
|
private readonly static long YittiByte = (long)Math.Pow(KibiByte, 8);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Convert a string to an Int64
|
||||||
|
/// </summary>
|
||||||
|
public static double? ConvertToDouble(string? numeric)
|
||||||
|
{
|
||||||
|
// If we don't have a valid string, we can't do anything
|
||||||
|
if (string.IsNullOrWhiteSpace(numeric))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
if (!double.TryParse(numeric, out double doubleValue))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return doubleValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Convert a string to an Int64
|
||||||
|
/// </summary>
|
||||||
|
public static long? ConvertToInt64(string? numeric)
|
||||||
|
{
|
||||||
|
// If we don't have a valid string, we can't do anything
|
||||||
|
if (string.IsNullOrWhiteSpace(numeric))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
// Normalize the string for easier comparison
|
||||||
|
numeric = numeric.ToLowerInvariant();
|
||||||
|
|
||||||
|
// Get the multiplication modifier and trim characters
|
||||||
|
long multiplier = DetermineMultiplier(numeric);
|
||||||
|
numeric = numeric.TrimEnd(new char[] { 'k', 'm', 'g', 't', 'p', 'e', 'z', 'y', 'i', 'b', ' ' });
|
||||||
|
|
||||||
|
// Parse the numeric string, if possible
|
||||||
|
long value;
|
||||||
|
if (numeric.StartsWith("0x"))
|
||||||
|
value = Convert.ToInt64(numeric, 16);
|
||||||
|
else if (long.TryParse(numeric, out long longValue))
|
||||||
|
value = longValue;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
|
||||||
|
// Apply the multiplier and return
|
||||||
|
return value * multiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the multiplier from a numeric string
|
||||||
|
/// </summary>
|
||||||
|
private static long DetermineMultiplier(string numeric)
|
||||||
|
{
|
||||||
|
long multiplier = 1;
|
||||||
|
if (numeric.EndsWith("k") || numeric.EndsWith("kb"))
|
||||||
|
multiplier = KiloByte;
|
||||||
|
else if (numeric.EndsWith("ki") || numeric.EndsWith("kib"))
|
||||||
|
multiplier = KibiByte;
|
||||||
|
else if (numeric.EndsWith("m") || numeric.EndsWith("mb"))
|
||||||
|
multiplier = MegaByte;
|
||||||
|
else if (numeric.EndsWith("mi") || numeric.EndsWith("mib"))
|
||||||
|
multiplier = MibiByte;
|
||||||
|
else if (numeric.EndsWith("g") || numeric.EndsWith("gb"))
|
||||||
|
multiplier = GigaByte;
|
||||||
|
else if (numeric.EndsWith("gi") || numeric.EndsWith("gib"))
|
||||||
|
multiplier = GibiByte;
|
||||||
|
else if (numeric.EndsWith("t") || numeric.EndsWith("tb"))
|
||||||
|
multiplier = TeraByte;
|
||||||
|
else if (numeric.EndsWith("ti") || numeric.EndsWith("tib"))
|
||||||
|
multiplier = TibiByte;
|
||||||
|
else if (numeric.EndsWith("p") || numeric.EndsWith("pb"))
|
||||||
|
multiplier = PetaByte;
|
||||||
|
else if (numeric.EndsWith("pi") || numeric.EndsWith("pib"))
|
||||||
|
multiplier = PibiByte;
|
||||||
|
else if (numeric.EndsWith("e") || numeric.EndsWith("eb"))
|
||||||
|
multiplier = ExaByte;
|
||||||
|
else if (numeric.EndsWith("ei") || numeric.EndsWith("eib"))
|
||||||
|
multiplier = ExiByte;
|
||||||
|
else if (numeric.EndsWith("z") || numeric.EndsWith("zb"))
|
||||||
|
multiplier = ZettaByte;
|
||||||
|
else if (numeric.EndsWith("zi") || numeric.EndsWith("zib"))
|
||||||
|
multiplier = ZittiByte;
|
||||||
|
else if (numeric.EndsWith("y") || numeric.EndsWith("yb"))
|
||||||
|
multiplier = YottaByte;
|
||||||
|
else if (numeric.EndsWith("yi") || numeric.EndsWith("yib"))
|
||||||
|
multiplier = YittiByte;
|
||||||
|
|
||||||
|
return multiplier;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -62,43 +62,6 @@ namespace SabreTools.Core.Tools
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get a sanitized double from an input string
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="input">String to get value from</param>
|
|
||||||
/// <returns>Value as a double?, if possible</returns>
|
|
||||||
public static double? CleanDouble(string input)
|
|
||||||
{
|
|
||||||
double? value = null;
|
|
||||||
if (input != null)
|
|
||||||
{
|
|
||||||
if (Double.TryParse(input, out double doubleValue))
|
|
||||||
value = doubleValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get a sanitized size from an input string
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="input">String to get value from</param>
|
|
||||||
/// <returns>Size as a long?, if possible</returns>
|
|
||||||
public static long? CleanLong(string input)
|
|
||||||
{
|
|
||||||
long? size = null;
|
|
||||||
if (input != null && input.Contains("0x"))
|
|
||||||
size = Convert.ToInt64(input, 16);
|
|
||||||
|
|
||||||
else if (input != null)
|
|
||||||
{
|
|
||||||
if (Int64.TryParse(input, out long longSize))
|
|
||||||
size = longSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Convert .NET DateTime to MS-DOS date format
|
/// Convert .NET DateTime to MS-DOS date format
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
ArchiveDotOrgSource = file.Source,
|
ArchiveDotOrgSource = file.Source,
|
||||||
//BitTorrentMagnetHash = file.BitTorrentMagnetHash, // TODO: Add to internal model
|
//BitTorrentMagnetHash = file.BitTorrentMagnetHash, // TODO: Add to internal model
|
||||||
Date = file.LastModifiedTime?.ToString(),
|
Date = file.LastModifiedTime?.ToString(),
|
||||||
Size = Utilities.CleanLong(file.Size),
|
Size = NumberHelper.ConvertToInt64(file.Size),
|
||||||
MD5 = file.MD5,
|
MD5 = file.MD5,
|
||||||
CRC = file.CRC32,
|
CRC = file.CRC32,
|
||||||
SHA1 = file.SHA1,
|
SHA1 = file.SHA1,
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Rom
|
var item = new Rom
|
||||||
{
|
{
|
||||||
Name = rom.Name,
|
Name = rom.Name,
|
||||||
Size = Utilities.CleanLong(rom.Size),
|
Size = NumberHelper.ConvertToInt64(rom.Size),
|
||||||
CRC = rom.CRC,
|
CRC = rom.CRC,
|
||||||
MD5 = rom.MD5,
|
MD5 = rom.MD5,
|
||||||
SHA1 = rom.SHA1,
|
SHA1 = rom.SHA1,
|
||||||
@@ -414,7 +414,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
ChipType = chip.Type?.AsChipType() ?? ChipType.NULL,
|
ChipType = chip.Type?.AsChipType() ?? ChipType.NULL,
|
||||||
Name = chip.Name,
|
Name = chip.Name,
|
||||||
//Flags = chip.Flags, // TODO: Add to internal model
|
//Flags = chip.Flags, // TODO: Add to internal model
|
||||||
Clock = Utilities.CleanLong(chip.Clock),
|
Clock = NumberHelper.ConvertToInt64(chip.Clock),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -449,11 +449,11 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Display
|
var item = new Display
|
||||||
{
|
{
|
||||||
DisplayType = video.Screen?.AsDisplayType() ?? DisplayType.NULL,
|
DisplayType = video.Screen?.AsDisplayType() ?? DisplayType.NULL,
|
||||||
Width = Utilities.CleanLong(video.X),
|
Width = NumberHelper.ConvertToInt64(video.X),
|
||||||
Height = Utilities.CleanLong(video.Y),
|
Height = NumberHelper.ConvertToInt64(video.Y),
|
||||||
//AspectX = video.AspectX, // TODO: Add to internal model or find mapping
|
//AspectX = video.AspectX, // TODO: Add to internal model or find mapping
|
||||||
//AspectY = video.AspectY, // TODO: Add to internal model or find mapping
|
//AspectY = video.AspectY, // TODO: Add to internal model or find mapping
|
||||||
Refresh = Utilities.CleanDouble(video.Freq),
|
Refresh = NumberHelper.ConvertToDouble(video.Freq),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -495,7 +495,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
containsItems = true;
|
containsItems = true;
|
||||||
var item = new Sound
|
var item = new Sound
|
||||||
{
|
{
|
||||||
Channels = Utilities.CleanLong(sound.Channels),
|
Channels = NumberHelper.ConvertToInt64(sound.Channels),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -526,16 +526,16 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
containsItems = true;
|
containsItems = true;
|
||||||
var item = new Input
|
var item = new Input
|
||||||
{
|
{
|
||||||
Players = Utilities.CleanLong(input.Players),
|
Players = NumberHelper.ConvertToInt64(input.Players),
|
||||||
//Control = input.Control, // TODO: Add to internal model or find mapping
|
//Control = input.Control, // TODO: Add to internal model or find mapping
|
||||||
Controls = new List<Control>
|
Controls = new List<Control>
|
||||||
{
|
{
|
||||||
new Control
|
new Control
|
||||||
{
|
{
|
||||||
Buttons = Utilities.CleanLong(input.Buttons),
|
Buttons = NumberHelper.ConvertToInt64(input.Buttons),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Coins = Utilities.CleanLong(input.Coins),
|
Coins = NumberHelper.ConvertToInt64(input.Coins),
|
||||||
Tilt = input.Tilt?.AsYesNo(),
|
Tilt = input.Tilt?.AsYesNo(),
|
||||||
Service = input.Service?.AsYesNo(),
|
Service = input.Service?.AsYesNo(),
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Rom
|
var item = new Rom
|
||||||
{
|
{
|
||||||
Name = rom.Name,
|
Name = rom.Name,
|
||||||
Size = Utilities.CleanLong(rom.Size),
|
Size = NumberHelper.ConvertToInt64(rom.Size),
|
||||||
CRC = rom.CRC,
|
CRC = rom.CRC,
|
||||||
Date = rom.Date,
|
Date = rom.Date,
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var rom = new Rom()
|
var rom = new Rom()
|
||||||
{
|
{
|
||||||
Name = name,
|
Name = name,
|
||||||
Size = Utilities.CleanLong(row.Size),
|
Size = NumberHelper.ConvertToInt64(row.Size),
|
||||||
CRC = row.CRC32,
|
CRC = row.CRC32,
|
||||||
MD5 = row.MD5,
|
MD5 = row.MD5,
|
||||||
SHA1 = row.SHA1,
|
SHA1 = row.SHA1,
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var rom = new Rom
|
var rom = new Rom
|
||||||
{
|
{
|
||||||
Name = row.Name,
|
Name = row.Name,
|
||||||
Size = Utilities.CleanLong(row.Size),
|
Size = NumberHelper.ConvertToInt64(row.Size),
|
||||||
CRC = row.CRC,
|
CRC = row.CRC,
|
||||||
SHA1 = row.SHA1,
|
SHA1 = row.SHA1,
|
||||||
ItemStatus = ItemStatus.None,
|
ItemStatus = ItemStatus.None,
|
||||||
@@ -221,7 +221,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var rom = new Rom
|
var rom = new Rom
|
||||||
{
|
{
|
||||||
Name = row.Name,
|
Name = row.Name,
|
||||||
Size = Utilities.CleanLong(row.Size),
|
Size = NumberHelper.ConvertToInt64(row.Size),
|
||||||
CRC = row.CRC,
|
CRC = row.CRC,
|
||||||
SHA1 = row.SHA1,
|
SHA1 = row.SHA1,
|
||||||
ItemStatus = ItemStatus.BadDump,
|
ItemStatus = ItemStatus.BadDump,
|
||||||
@@ -245,7 +245,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var rom = new Rom
|
var rom = new Rom
|
||||||
{
|
{
|
||||||
Name = row.Name,
|
Name = row.Name,
|
||||||
Size = Utilities.CleanLong(row.Size),
|
Size = NumberHelper.ConvertToInt64(row.Size),
|
||||||
CRC = null,
|
CRC = null,
|
||||||
SHA1 = null,
|
SHA1 = null,
|
||||||
ItemStatus = ItemStatus.Nodump,
|
ItemStatus = ItemStatus.Nodump,
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
Name = rom.Name,
|
Name = rom.Name,
|
||||||
Bios = rom.Bios,
|
Bios = rom.Bios,
|
||||||
Size = Utilities.CleanLong(rom.Size),
|
Size = NumberHelper.ConvertToInt64(rom.Size),
|
||||||
CRC = rom.CRC,
|
CRC = rom.CRC,
|
||||||
SHA1 = rom.SHA1,
|
SHA1 = rom.SHA1,
|
||||||
MergeTag = rom.Merge,
|
MergeTag = rom.Merge,
|
||||||
@@ -371,7 +371,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
Tag = chip.Tag,
|
Tag = chip.Tag,
|
||||||
ChipType = chip.Type.AsChipType(),
|
ChipType = chip.Type.AsChipType(),
|
||||||
//SoundOnly = chip.SoundOnly, // TODO: Add to internal model
|
//SoundOnly = chip.SoundOnly, // TODO: Add to internal model
|
||||||
Clock = Utilities.CleanLong(chip.Clock),
|
Clock = NumberHelper.ConvertToInt64(chip.Clock),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -407,18 +407,18 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
Tag = display.Tag,
|
Tag = display.Tag,
|
||||||
DisplayType = display.Type.AsDisplayType(),
|
DisplayType = display.Type.AsDisplayType(),
|
||||||
Rotate = Utilities.CleanLong(display.Rotate),
|
Rotate = NumberHelper.ConvertToInt64(display.Rotate),
|
||||||
FlipX = display.FlipX.AsYesNo(),
|
FlipX = display.FlipX.AsYesNo(),
|
||||||
Width = Utilities.CleanLong(display.Width),
|
Width = NumberHelper.ConvertToInt64(display.Width),
|
||||||
Height = Utilities.CleanLong(display.Height),
|
Height = NumberHelper.ConvertToInt64(display.Height),
|
||||||
Refresh = Utilities.CleanDouble(display.Refresh),
|
Refresh = NumberHelper.ConvertToDouble(display.Refresh),
|
||||||
PixClock = Utilities.CleanLong(display.PixClock),
|
PixClock = NumberHelper.ConvertToInt64(display.PixClock),
|
||||||
HTotal = Utilities.CleanLong(display.HTotal),
|
HTotal = NumberHelper.ConvertToInt64(display.HTotal),
|
||||||
HBEnd = Utilities.CleanLong(display.HBEnd),
|
HBEnd = NumberHelper.ConvertToInt64(display.HBEnd),
|
||||||
HBStart = Utilities.CleanLong(display.HBStart),
|
HBStart = NumberHelper.ConvertToInt64(display.HBStart),
|
||||||
VTotal = Utilities.CleanLong(display.VTotal),
|
VTotal = NumberHelper.ConvertToInt64(display.VTotal),
|
||||||
VBEnd = Utilities.CleanLong(display.VBEnd),
|
VBEnd = NumberHelper.ConvertToInt64(display.VBEnd),
|
||||||
VBStart = Utilities.CleanLong(display.VBStart),
|
VBStart = NumberHelper.ConvertToInt64(display.VBStart),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -453,11 +453,11 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Display
|
var item = new Display
|
||||||
{
|
{
|
||||||
DisplayType = video.Screen?.AsDisplayType() ?? DisplayType.NULL,
|
DisplayType = video.Screen?.AsDisplayType() ?? DisplayType.NULL,
|
||||||
Width = Utilities.CleanLong(video.Width),
|
Width = NumberHelper.ConvertToInt64(video.Width),
|
||||||
Height = Utilities.CleanLong(video.Height),
|
Height = NumberHelper.ConvertToInt64(video.Height),
|
||||||
//AspectX = video.AspectX, // TODO: Add to internal model or find mapping
|
//AspectX = video.AspectX, // TODO: Add to internal model or find mapping
|
||||||
//AspectY = video.AspectY, // TODO: Add to internal model or find mapping
|
//AspectY = video.AspectY, // TODO: Add to internal model or find mapping
|
||||||
Refresh = Utilities.CleanDouble(video.Refresh),
|
Refresh = NumberHelper.ConvertToDouble(video.Refresh),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -499,7 +499,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
containsItems = true;
|
containsItems = true;
|
||||||
var item = new Sound
|
var item = new Sound
|
||||||
{
|
{
|
||||||
Channels = Utilities.CleanLong(sound.Channels),
|
Channels = NumberHelper.ConvertToInt64(sound.Channels),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -532,10 +532,10 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
Service = input.Service.AsYesNo(),
|
Service = input.Service.AsYesNo(),
|
||||||
Tilt = input.Tilt.AsYesNo(),
|
Tilt = input.Tilt.AsYesNo(),
|
||||||
Players = Utilities.CleanLong(input.Players),
|
Players = NumberHelper.ConvertToInt64(input.Players),
|
||||||
//ControlAttr = input.ControlAttr, // TODO: Add to internal model
|
//ControlAttr = input.ControlAttr, // TODO: Add to internal model
|
||||||
//Buttons = input.Buttons, // TODO: Add to internal model
|
//Buttons = input.Buttons, // TODO: Add to internal model
|
||||||
Coins = Utilities.CleanLong(input.Coins),
|
Coins = NumberHelper.ConvertToInt64(input.Coins),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
{
|
{
|
||||||
@@ -550,13 +550,13 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var controlItem = new Control
|
var controlItem = new Control
|
||||||
{
|
{
|
||||||
ControlType = control.Type.AsControlType(),
|
ControlType = control.Type.AsControlType(),
|
||||||
Player = Utilities.CleanLong(control.Player),
|
Player = NumberHelper.ConvertToInt64(control.Player),
|
||||||
Buttons = Utilities.CleanLong(control.Buttons),
|
Buttons = NumberHelper.ConvertToInt64(control.Buttons),
|
||||||
RequiredButtons = Utilities.CleanLong(control.ReqButtons),
|
RequiredButtons = NumberHelper.ConvertToInt64(control.ReqButtons),
|
||||||
Minimum = Utilities.CleanLong(control.Minimum),
|
Minimum = NumberHelper.ConvertToInt64(control.Minimum),
|
||||||
Maximum = Utilities.CleanLong(control.Maximum),
|
Maximum = NumberHelper.ConvertToInt64(control.Maximum),
|
||||||
Sensitivity = Utilities.CleanLong(control.Sensitivity),
|
Sensitivity = NumberHelper.ConvertToInt64(control.Sensitivity),
|
||||||
KeyDelta = Utilities.CleanLong(control.KeyDelta),
|
KeyDelta = NumberHelper.ConvertToInt64(control.KeyDelta),
|
||||||
Reverse = control.Reverse.AsYesNo(),
|
Reverse = control.Reverse.AsYesNo(),
|
||||||
Ways = control.Ways,
|
Ways = control.Ways,
|
||||||
Ways2 = control.Ways2,
|
Ways2 = control.Ways2,
|
||||||
@@ -621,7 +621,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var locationItem = new Location
|
var locationItem = new Location
|
||||||
{
|
{
|
||||||
Name = diplocation.Name,
|
Name = diplocation.Name,
|
||||||
Number = Utilities.CleanLong(diplocation.Number),
|
Number = NumberHelper.ConvertToInt64(diplocation.Number),
|
||||||
Inverted = diplocation.Inverted.AsYesNo(),
|
Inverted = diplocation.Inverted.AsYesNo(),
|
||||||
};
|
};
|
||||||
locations.Add(locationItem);
|
locations.Add(locationItem);
|
||||||
@@ -712,7 +712,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var locationItem = new Location
|
var locationItem = new Location
|
||||||
{
|
{
|
||||||
Name = confLocation.Name,
|
Name = confLocation.Name,
|
||||||
Number = Utilities.CleanLong(confLocation.Number),
|
Number = NumberHelper.ConvertToInt64(confLocation.Number),
|
||||||
Inverted = confLocation.Inverted.AsYesNo(),
|
Inverted = confLocation.Inverted.AsYesNo(),
|
||||||
};
|
};
|
||||||
locations.Add(locationItem);
|
locations.Add(locationItem);
|
||||||
@@ -869,7 +869,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
Status = driver.Status.AsSupportStatus(),
|
Status = driver.Status.AsSupportStatus(),
|
||||||
//Color = driver.Color.AsSupportStatus(), // TODO: Add to internal model
|
//Color = driver.Color.AsSupportStatus(), // TODO: Add to internal model
|
||||||
//Sound = driver.Sound.AsSupportStatus(), // TODO: Add to internal model
|
//Sound = driver.Sound.AsSupportStatus(), // TODO: Add to internal model
|
||||||
//PaletteSize = Utilities.CleanLong(driver.PaletteSize), // TODO: Add to internal model
|
//PaletteSize = NumberHelper.ConvertToInt64(driver.PaletteSize), // TODO: Add to internal model
|
||||||
Emulation = driver.Emulation.AsSupportStatus(),
|
Emulation = driver.Emulation.AsSupportStatus(),
|
||||||
Cocktail = driver.Cocktail.AsSupportStatus(),
|
Cocktail = driver.Cocktail.AsSupportStatus(),
|
||||||
SaveState = driver.SaveState.AsSupported(),
|
SaveState = driver.SaveState.AsSupported(),
|
||||||
@@ -948,7 +948,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
DeviceType = device.Type.AsDeviceType(),
|
DeviceType = device.Type.AsDeviceType(),
|
||||||
Tag = device.Tag,
|
Tag = device.Tag,
|
||||||
FixedImage = device.FixedImage,
|
FixedImage = device.FixedImage,
|
||||||
Mandatory = Utilities.CleanLong(device.Mandatory),
|
Mandatory = NumberHelper.ConvertToInt64(device.Mandatory),
|
||||||
Interface = device.Interface,
|
Interface = device.Interface,
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Rom
|
var item = new Rom
|
||||||
{
|
{
|
||||||
Name = rom.Name,
|
Name = rom.Name,
|
||||||
Size = Utilities.CleanLong(rom.Size),
|
Size = NumberHelper.ConvertToInt64(rom.Size),
|
||||||
CRC = rom.CRC,
|
CRC = rom.CRC,
|
||||||
MD5 = rom.MD5,
|
MD5 = rom.MD5,
|
||||||
SHA1 = rom.SHA1,
|
SHA1 = rom.SHA1,
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
Comment = game.Comment,
|
Comment = game.Comment,
|
||||||
};
|
};
|
||||||
|
|
||||||
long? size = Utilities.CleanLong(game.RomSize);
|
long? size = NumberHelper.ConvertToInt64(game.RomSize);
|
||||||
if (game.DuplicateID != "0")
|
if (game.DuplicateID != "0")
|
||||||
machine.CloneOf = game.DuplicateID;
|
machine.CloneOf = game.DuplicateID;
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Rom
|
var item = new Rom
|
||||||
{
|
{
|
||||||
Name = rom.RomName,
|
Name = rom.RomName,
|
||||||
Size = Utilities.CleanLong(rom.RomSize),
|
Size = NumberHelper.ConvertToInt64(rom.RomSize),
|
||||||
CRC = rom.RomCRC,
|
CRC = rom.RomCRC,
|
||||||
MergeTag = rom.MergeName,
|
MergeTag = rom.MergeName,
|
||||||
ItemStatus = ItemStatus.None,
|
ItemStatus = ItemStatus.None,
|
||||||
|
|||||||
@@ -256,8 +256,8 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new DataArea
|
var item = new DataArea
|
||||||
{
|
{
|
||||||
Name = dataarea.Name,
|
Name = dataarea.Name,
|
||||||
Size = Utilities.CleanLong(dataarea.Size),
|
Size = NumberHelper.ConvertToInt64(dataarea.Size),
|
||||||
Width = Utilities.CleanLong(dataarea.Width),
|
Width = NumberHelper.ConvertToInt64(dataarea.Width),
|
||||||
Endianness = dataarea.Endianness.AsEndianness(),
|
Endianness = dataarea.Endianness.AsEndianness(),
|
||||||
|
|
||||||
Source = new Source
|
Source = new Source
|
||||||
@@ -295,7 +295,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
var item = new Rom
|
var item = new Rom
|
||||||
{
|
{
|
||||||
Name = rom.Name,
|
Name = rom.Name,
|
||||||
Size = Utilities.CleanLong(rom.Size ?? rom.Length),
|
Size = NumberHelper.ConvertToInt64(rom.Size ?? rom.Length),
|
||||||
CRC = rom.CRC,
|
CRC = rom.CRC,
|
||||||
SHA1 = rom.SHA1,
|
SHA1 = rom.SHA1,
|
||||||
Offset = rom.Offset,
|
Offset = rom.Offset,
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ namespace SabreTools.DatFiles
|
|||||||
chip.ChipType = DatItemMappings[DatItemField.ChipType].AsChipType();
|
chip.ChipType = DatItemMappings[DatItemField.ChipType].AsChipType();
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Clock))
|
if (DatItemMappings!.ContainsKey(DatItemField.Clock))
|
||||||
chip.Clock = Utilities.CleanLong(DatItemMappings[DatItemField.Clock]);
|
chip.Clock = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Clock]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
||||||
chip.Tag = DatItemMappings[DatItemField.Tag];
|
chip.Tag = DatItemMappings[DatItemField.Tag];
|
||||||
@@ -559,31 +559,31 @@ namespace SabreTools.DatFiles
|
|||||||
private void SetFields(Control control)
|
private void SetFields(Control control)
|
||||||
{
|
{
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Buttons))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Buttons))
|
||||||
control.Buttons = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Buttons]);
|
control.Buttons = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_Buttons]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Type))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Type))
|
||||||
control.ControlType = DatItemMappings[DatItemField.Control_Type].AsControlType();
|
control.ControlType = DatItemMappings[DatItemField.Control_Type].AsControlType();
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_KeyDelta))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_KeyDelta))
|
||||||
control.KeyDelta = Utilities.CleanLong(DatItemMappings[DatItemField.Control_KeyDelta]);
|
control.KeyDelta = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_KeyDelta]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Maximum))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Maximum))
|
||||||
control.Maximum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Maximum]);
|
control.Maximum = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_Maximum]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Minimum))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Minimum))
|
||||||
control.Minimum = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Minimum]);
|
control.Minimum = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_Minimum]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Player))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Player))
|
||||||
control.Player = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Player]);
|
control.Player = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_Player]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_RequiredButtons))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_RequiredButtons))
|
||||||
control.RequiredButtons = Utilities.CleanLong(DatItemMappings[DatItemField.Control_RequiredButtons]);
|
control.RequiredButtons = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_RequiredButtons]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Reverse))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Reverse))
|
||||||
control.Reverse = DatItemMappings[DatItemField.Control_Reverse].AsYesNo();
|
control.Reverse = DatItemMappings[DatItemField.Control_Reverse].AsYesNo();
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Sensitivity))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Sensitivity))
|
||||||
control.Sensitivity = Utilities.CleanLong(DatItemMappings[DatItemField.Control_Sensitivity]);
|
control.Sensitivity = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Control_Sensitivity]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Control_Ways))
|
if (DatItemMappings!.ContainsKey(DatItemField.Control_Ways))
|
||||||
control.Ways = DatItemMappings[DatItemField.Control_Ways];
|
control.Ways = DatItemMappings[DatItemField.Control_Ways];
|
||||||
@@ -608,10 +608,10 @@ namespace SabreTools.DatFiles
|
|||||||
dataArea.Name = DatItemMappings[DatItemField.AreaName];
|
dataArea.Name = DatItemMappings[DatItemField.AreaName];
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.AreaSize))
|
if (DatItemMappings!.ContainsKey(DatItemField.AreaSize))
|
||||||
dataArea.Size = Utilities.CleanLong(DatItemMappings[DatItemField.AreaSize]);
|
dataArea.Size = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.AreaSize]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.AreaWidth))
|
if (DatItemMappings!.ContainsKey(DatItemField.AreaWidth))
|
||||||
dataArea.Width = Utilities.CleanLong(DatItemMappings[DatItemField.AreaWidth]);
|
dataArea.Width = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.AreaWidth]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -630,7 +630,7 @@ namespace SabreTools.DatFiles
|
|||||||
device.Interface = DatItemMappings[DatItemField.Interface];
|
device.Interface = DatItemMappings[DatItemField.Interface];
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Mandatory))
|
if (DatItemMappings!.ContainsKey(DatItemField.Mandatory))
|
||||||
device.Mandatory = Utilities.CleanLong(DatItemMappings[DatItemField.Mandatory]);
|
device.Mandatory = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Mandatory]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
||||||
device.Tag = DatItemMappings[DatItemField.Tag];
|
device.Tag = DatItemMappings[DatItemField.Tag];
|
||||||
@@ -752,40 +752,40 @@ namespace SabreTools.DatFiles
|
|||||||
display.FlipX = DatItemMappings[DatItemField.FlipX].AsYesNo();
|
display.FlipX = DatItemMappings[DatItemField.FlipX].AsYesNo();
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Height))
|
if (DatItemMappings!.ContainsKey(DatItemField.Height))
|
||||||
display.Height = Utilities.CleanLong(DatItemMappings[DatItemField.Height]);
|
display.Height = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Height]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.HBEnd))
|
if (DatItemMappings!.ContainsKey(DatItemField.HBEnd))
|
||||||
display.HBEnd = Utilities.CleanLong(DatItemMappings[DatItemField.HBEnd]);
|
display.HBEnd = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.HBEnd]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.HBStart))
|
if (DatItemMappings!.ContainsKey(DatItemField.HBStart))
|
||||||
display.HBStart = Utilities.CleanLong(DatItemMappings[DatItemField.HBStart]);
|
display.HBStart = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.HBStart]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.HTotal))
|
if (DatItemMappings!.ContainsKey(DatItemField.HTotal))
|
||||||
display.HTotal = Utilities.CleanLong(DatItemMappings[DatItemField.HTotal]);
|
display.HTotal = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.HTotal]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.PixClock))
|
if (DatItemMappings!.ContainsKey(DatItemField.PixClock))
|
||||||
display.PixClock = Utilities.CleanLong(DatItemMappings[DatItemField.PixClock]);
|
display.PixClock = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.PixClock]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Refresh))
|
if (DatItemMappings!.ContainsKey(DatItemField.Refresh))
|
||||||
display.Refresh = Utilities.CleanDouble(DatItemMappings[DatItemField.Refresh]);
|
display.Refresh = NumberHelper.ConvertToDouble(DatItemMappings[DatItemField.Refresh]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Rotate))
|
if (DatItemMappings!.ContainsKey(DatItemField.Rotate))
|
||||||
display.Rotate = Utilities.CleanLong(DatItemMappings[DatItemField.Rotate]);
|
display.Rotate = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Rotate]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
if (DatItemMappings!.ContainsKey(DatItemField.Tag))
|
||||||
display.Tag = DatItemMappings[DatItemField.Tag];
|
display.Tag = DatItemMappings[DatItemField.Tag];
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.VBEnd))
|
if (DatItemMappings!.ContainsKey(DatItemField.VBEnd))
|
||||||
display.VBEnd = Utilities.CleanLong(DatItemMappings[DatItemField.VBEnd]);
|
display.VBEnd = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.VBEnd]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.VBStart))
|
if (DatItemMappings!.ContainsKey(DatItemField.VBStart))
|
||||||
display.VBStart = Utilities.CleanLong(DatItemMappings[DatItemField.VBStart]);
|
display.VBStart = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.VBStart]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.VTotal))
|
if (DatItemMappings!.ContainsKey(DatItemField.VTotal))
|
||||||
display.VTotal = Utilities.CleanLong(DatItemMappings[DatItemField.VTotal]);
|
display.VTotal = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.VTotal]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Width))
|
if (DatItemMappings!.ContainsKey(DatItemField.Width))
|
||||||
display.Width = Utilities.CleanLong(DatItemMappings[DatItemField.Width]);
|
display.Width = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Width]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -862,10 +862,10 @@ namespace SabreTools.DatFiles
|
|||||||
private void SetFields(Input input)
|
private void SetFields(Input input)
|
||||||
{
|
{
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Coins))
|
if (DatItemMappings!.ContainsKey(DatItemField.Coins))
|
||||||
input.Coins = Utilities.CleanLong(DatItemMappings[DatItemField.Coins]);
|
input.Coins = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Coins]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Players))
|
if (DatItemMappings!.ContainsKey(DatItemField.Players))
|
||||||
input.Players = Utilities.CleanLong(DatItemMappings[DatItemField.Players]);
|
input.Players = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Players]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Service))
|
if (DatItemMappings!.ContainsKey(DatItemField.Service))
|
||||||
input.Service = DatItemMappings[DatItemField.Service].AsYesNo();
|
input.Service = DatItemMappings[DatItemField.Service].AsYesNo();
|
||||||
@@ -908,7 +908,7 @@ namespace SabreTools.DatFiles
|
|||||||
location.Name = DatItemMappings[DatItemField.Location_Name];
|
location.Name = DatItemMappings[DatItemField.Location_Name];
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Location_Number))
|
if (DatItemMappings!.ContainsKey(DatItemField.Location_Number))
|
||||||
location.Number = Utilities.CleanLong(DatItemMappings[DatItemField.Location_Number]);
|
location.Number = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Location_Number]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1099,7 +1099,7 @@ namespace SabreTools.DatFiles
|
|||||||
rom.SHA512 = DatItemMappings[DatItemField.SHA512];
|
rom.SHA512 = DatItemMappings[DatItemField.SHA512];
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Size))
|
if (DatItemMappings!.ContainsKey(DatItemField.Size))
|
||||||
rom.Size = Utilities.CleanLong(DatItemMappings[DatItemField.Size]);
|
rom.Size = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Size]);
|
||||||
|
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.SpamSum))
|
if (DatItemMappings!.ContainsKey(DatItemField.SpamSum))
|
||||||
rom.SpamSum = DatItemMappings[DatItemField.SpamSum];
|
rom.SpamSum = DatItemMappings[DatItemField.SpamSum];
|
||||||
@@ -1208,7 +1208,7 @@ namespace SabreTools.DatFiles
|
|||||||
private void SetFields(Sound sound)
|
private void SetFields(Sound sound)
|
||||||
{
|
{
|
||||||
if (DatItemMappings!.ContainsKey(DatItemField.Channels))
|
if (DatItemMappings!.ContainsKey(DatItemField.Channels))
|
||||||
sound.Channels = Utilities.CleanLong(DatItemMappings[DatItemField.Channels]);
|
sound.Channels = NumberHelper.ConvertToInt64(DatItemMappings[DatItemField.Channels]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,10 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value matches exactly
|
/// Determines if a value matches exactly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>TODO: Add regex matching to this method</remarks>
|
/// <remarks>
|
||||||
|
/// TODO: Add regex matching to this method
|
||||||
|
/// TODO: Add logic to convert SI suffixes and hex
|
||||||
|
/// </remarks>
|
||||||
private bool MatchesEqual(DictionaryBase dictionaryBase)
|
private bool MatchesEqual(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
@@ -97,7 +100,10 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value does not match exactly
|
/// Determines if a value does not match exactly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>TODO: Add regex matching to this method</remarks>
|
/// <remarks>
|
||||||
|
/// TODO: Add regex matching to this method
|
||||||
|
/// TODO: Add logic to convert SI suffixes and hex
|
||||||
|
/// </remarks>
|
||||||
private bool MatchesNotEqual(DictionaryBase dictionaryBase)
|
private bool MatchesNotEqual(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
@@ -110,6 +116,7 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value is strictly greater than
|
/// Determines if a value is strictly greater than
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>TODO: Add logic to convert SI suffixes and hex</remarks>
|
||||||
private bool MatchesGreaterThan(DictionaryBase dictionaryBase)
|
private bool MatchesGreaterThan(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
@@ -139,6 +146,7 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value is greater than or equal
|
/// Determines if a value is greater than or equal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>TODO: Add logic to convert SI suffixes and hex</remarks>
|
||||||
private bool MatchesGreaterThanOrEqual(DictionaryBase dictionaryBase)
|
private bool MatchesGreaterThanOrEqual(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
@@ -168,6 +176,7 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value is strictly less than
|
/// Determines if a value is strictly less than
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>TODO: Add logic to convert SI suffixes and hex</remarks>
|
||||||
private bool MatchesLessThan(DictionaryBase dictionaryBase)
|
private bool MatchesLessThan(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
@@ -197,6 +206,7 @@ namespace SabreTools.Filter
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if a value is less than or equal
|
/// Determines if a value is less than or equal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>TODO: Add logic to convert SI suffixes and hex</remarks>
|
||||||
private bool MatchesLessThanOrEqual(DictionaryBase dictionaryBase)
|
private bool MatchesLessThanOrEqual(DictionaryBase dictionaryBase)
|
||||||
{
|
{
|
||||||
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
if (!dictionaryBase.ContainsKey(this.Key[1]))
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ namespace SabreTools.Models.Internal
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Read a key as a long, returning null on error
|
/// Read a key as a long, returning null on error
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>TODO: Add logic to convert SI suffixes and hex</remarks>
|
||||||
public long? ReadLong(string key)
|
public long? ReadLong(string key)
|
||||||
{
|
{
|
||||||
if (!ValidateKey(key))
|
if (!ValidateKey(key))
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace SabreTools.Test.Core
|
|||||||
[InlineData(" 12345 ", 12345L)]
|
[InlineData(" 12345 ", 12345L)]
|
||||||
public void CleanLongTest(string input, long? expected)
|
public void CleanLongTest(string input, long? expected)
|
||||||
{
|
{
|
||||||
long? actual = Utilities.CleanLong(input);
|
long? actual = NumberHelper.ConvertToInt64(input);
|
||||||
Assert.Equal(expected, actual);
|
Assert.Equal(expected, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user