61 lines
4.4 KiB
C#
61 lines
4.4 KiB
C#
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
|
|
|
public interface IId
|
|
{ // ...
|
|
|
|
const int DeterministicHashCode = 9876543;
|
|
|
|
static bool IsOffsetDeterministicHashCode(Properties.IPropertyConfiguration propertyConfiguration) =>
|
|
propertyConfiguration.Offset == DeterministicHashCode;
|
|
|
|
string TestStatic_GetIntelligentId(Properties.IPropertyConfiguration propertyConfiguration, long id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal) =>
|
|
GetIntelligentId(propertyConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal);
|
|
static string GetIntelligentId(Properties.IPropertyConfiguration propertyConfiguration, long id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal) =>
|
|
Id.GetIntelligentId(propertyConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal);
|
|
|
|
int TestStatic_GetId(Properties.IPropertyConfiguration propertyConfiguration, string intelligentId) =>
|
|
GetId(propertyConfiguration, intelligentId);
|
|
static int GetId(Properties.IPropertyConfiguration propertyConfiguration, string intelligentId) =>
|
|
Id.GetId(propertyConfiguration, intelligentId);
|
|
|
|
string TestStatic_GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
GetPaddedId(propertyConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
static string GetPaddedId(Properties.IPropertyConfiguration propertyConfiguration, int id, bool? hasIgnoreKeyword, bool? hasDateTimeOriginal, int? index) =>
|
|
Id.GetPaddedId(propertyConfiguration, id, hasIgnoreKeyword, hasDateTimeOriginal, index);
|
|
|
|
string TestStatic_GetIgnoreFullPath(FilePath filePath, Models.FileHolder fileHolder) =>
|
|
GetIgnoreFullPath(filePath, fileHolder);
|
|
static string GetIgnoreFullPath(FilePath filePath, Models.FileHolder fileHolder) =>
|
|
fileHolder.DirectoryName is null ?
|
|
throw new NotSupportedException() :
|
|
filePath.Id > -1 ?
|
|
fileHolder.NameWithoutExtension[^1] == '9' ?
|
|
Path.Combine(fileHolder.DirectoryName, $"{fileHolder.NameWithoutExtension[..^1]}8{fileHolder.ExtensionLowered}") :
|
|
throw new NotSupportedException("High") :
|
|
fileHolder.NameWithoutExtension[^1] == '1' ?
|
|
Path.Combine(fileHolder.DirectoryName, $"{fileHolder.NameWithoutExtension[..^1]}2{fileHolder.ExtensionLowered}") :
|
|
throw new NotSupportedException("Low");
|
|
|
|
bool TestStatic_NameWithoutExtensionIsIntelligentIdFormat(Properties.IPropertyConfiguration propertyConfiguration, string fileNameFirstSegment) =>
|
|
NameWithoutExtensionIsIntelligentIdFormat(propertyConfiguration, fileNameFirstSegment);
|
|
static bool NameWithoutExtensionIsIntelligentIdFormat(Properties.IPropertyConfiguration propertyConfiguration, string fileNameFirstSegment) =>
|
|
fileNameFirstSegment.Length - 1 == propertyConfiguration.IntMinValueLength && fileNameFirstSegment[^1] is '1' or '2' or '8' or '9' && fileNameFirstSegment.All(char.IsNumber);
|
|
|
|
bool TestStatic_NameWithoutExtensionIsPaddedIntelligentIdFormat(Properties.IPropertyConfiguration propertyConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
|
|
NameWithoutExtensionIsPaddedIntelligentIdFormat(propertyConfiguration, sortOrderOnlyLengthIndex, fileNameFirstSegment);
|
|
static bool NameWithoutExtensionIsPaddedIntelligentIdFormat(Properties.IPropertyConfiguration propertyConfiguration, int sortOrderOnlyLengthIndex, string fileNameFirstSegment) =>
|
|
fileNameFirstSegment.Length == propertyConfiguration.IntMinValueLength + sortOrderOnlyLengthIndex + 1
|
|
&& fileNameFirstSegment[^1] is '1' or '2' or '8' or '9'
|
|
&& fileNameFirstSegment.All(char.IsNumber);
|
|
|
|
bool TestStatic_NameWithoutExtensionIsIdFormat(Properties.IPropertyConfiguration propertyConfiguration, Models.FileHolder fileHolder) =>
|
|
NameWithoutExtensionIsIdFormat(propertyConfiguration, fileHolder);
|
|
static bool NameWithoutExtensionIsIdFormat(Properties.IPropertyConfiguration propertyConfiguration, Models.FileHolder fileHolder) =>
|
|
Id.NameWithoutExtensionIsIdFormat(propertyConfiguration, fileHolder.NameWithoutExtension.Split('.')[0]);
|
|
|
|
int TestStatic_GetDeterministicHashCode(byte[] value) =>
|
|
GetDeterministicHashCode(value);
|
|
static int GetDeterministicHashCode(byte[] value) =>
|
|
Id.GetDeterministicHashCode(value);
|
|
|
|
} |