Remove Person Require People File,

PersonContainer and bug fix for GetRightPadded
This commit is contained in:
2022-09-18 23:43:37 -07:00
parent 9ec5da1e7a
commit 8b2cbf7e16
40 changed files with 1235 additions and 1111 deletions

View File

@ -10,6 +10,7 @@ public class Configuration
#nullable disable
[Display(Name = "Check D Face and Up Dates"), Required] public bool? CheckDFaceAndUpWriteDates { get; set; }
[Display(Name = "Check Json For Distance Results"), Required] public bool? CheckJsonForDistanceResults { get; set; }
[Display(Name = "CrossDirectory Max Items In Distance Collection"), Required] public int? CrossDirectoryMaxItemsInDistanceCollection { get; set; }
[Display(Name = "Distance Factor"), Required] public int? DistanceFactor { get; set; }
@ -64,6 +65,8 @@ public class Configuration
private static Models.Configuration Get(Configuration configuration)
{
Models.Configuration result;
if (configuration.CheckDFaceAndUpWriteDates is null)
throw new NullReferenceException(nameof(configuration.CheckDFaceAndUpWriteDates));
if (configuration.CheckJsonForDistanceResults is null)
throw new NullReferenceException(nameof(configuration.CheckJsonForDistanceResults));
if (configuration.CrossDirectoryMaxItemsInDistanceCollection is null)
@ -137,6 +140,7 @@ public class Configuration
if (configuration.SaveShortcutsForOutputResolutions is null)
configuration.SaveShortcutsForOutputResolutions = Array.Empty<string>();
result = new(configuration.PropertyConfiguration,
configuration.CheckDFaceAndUpWriteDates.Value,
configuration.CheckJsonForDistanceResults.Value,
configuration.CrossDirectoryMaxItemsInDistanceCollection.Value,
configuration.DistanceFactor.Value,

View File

@ -9,6 +9,7 @@ public class Configuration
protected Property.Models.Configuration _PropertyConfiguration;
public Property.Models.Configuration PropertyConfiguration => _PropertyConfiguration;
public bool CheckDFaceAndUpWriteDates { init; get; }
public bool CheckJsonForDistanceResults { init; get; }
public int CrossDirectoryMaxItemsInDistanceCollection { init; get; }
public int DistanceFactor { init; get; }
@ -52,9 +53,52 @@ public class Configuration
public string[] ValidResolutions { init; get; }
[JsonConstructor]
public Configuration(Property.Models.Configuration propertyConfiguration, bool checkJsonForDistanceResults, int crossDirectoryMaxItemsInDistanceCollection, int distanceFactor, bool forceFaceLastWriteTimeToCreationTime, bool forceMetadataLastWriteTimeToCreationTime, bool forceResizeLastWriteTimeToCreationTime, string[] ignoreExtensions, string[] ignoreRelativePaths, string[] juliePhares, string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions, string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions, bool loadOrCreateThenSaveIndex, int locationConfidenceFactor, int? mappedMaxIndex, int maxItemsInDistanceCollection, string[] mixedYearRelativePaths, string modelDirectory, string modelName, int numberOfJitters, int numberOfTimesToUpsample, string outputExtension, int outputQuality, string[] outputResolutions, bool overrideForFaceImages, bool overrideForFaceLandmarkImages, bool overrideForResizeImages, int paddingLoops, string predictorModelName, bool propertiesChangedForDistance, bool propertiesChangedForFaces, bool propertiesChangedForIndex, bool propertiesChangedForMetadata, bool propertiesChangedForResize, bool reverse, string[] saveFaceLandmarkForOutputResolutions, bool saveFullYearOfRandomFiles, bool saveResizedSubfiles, string[] saveShortcutsForOutputResolutions, bool skipSearch, bool testDistanceResults, string[] validResolutions)
public Configuration(Property.Models.Configuration propertyConfiguration,
bool checkDFaceAndUpWriteDates,
bool checkJsonForDistanceResults,
int crossDirectoryMaxItemsInDistanceCollection,
int distanceFactor,
bool forceFaceLastWriteTimeToCreationTime,
bool forceMetadataLastWriteTimeToCreationTime,
bool forceResizeLastWriteTimeToCreationTime,
string[] ignoreExtensions,
string[] ignoreRelativePaths,
string[] juliePhares,
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
bool loadOrCreateThenSaveIndex,
int locationConfidenceFactor,
int? mappedMaxIndex,
int maxItemsInDistanceCollection,
string[] mixedYearRelativePaths,
string modelDirectory,
string modelName,
int numberOfJitters,
int numberOfTimesToUpsample,
string outputExtension,
int outputQuality,
string[] outputResolutions,
bool overrideForFaceImages,
bool overrideForFaceLandmarkImages,
bool overrideForResizeImages,
int paddingLoops,
string predictorModelName,
bool propertiesChangedForDistance,
bool propertiesChangedForFaces,
bool propertiesChangedForIndex,
bool propertiesChangedForMetadata,
bool propertiesChangedForResize,
bool reverse,
string[] saveFaceLandmarkForOutputResolutions,
bool saveFullYearOfRandomFiles,
bool saveResizedSubfiles,
string[] saveShortcutsForOutputResolutions,
bool skipSearch,
bool testDistanceResults,
string[] validResolutions)
{
_PropertyConfiguration = propertyConfiguration;
CheckDFaceAndUpWriteDates = CheckDFaceAndUpWriteDates;
CheckJsonForDistanceResults = checkJsonForDistanceResults;
CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
DistanceFactor = distanceFactor;

View File

@ -92,6 +92,34 @@ public class UnitTestCalculations
int checkB = (int)(Math.Round(valueB, Shared.Models.Stateless.ILocation.Digits) * Shared.Models.Stateless.ILocation.Factor);
Assert.IsTrue(checkB == 10000);
Assert.IsTrue(checkB > checkA);
double valueC = 0.06673685709635417;
int checkC = (int)(Math.Round(valueC, Shared.Models.Stateless.ILocation.Digits) * Shared.Models.Stateless.ILocation.Factor);
string rightPadded = ILocation.GetRightPadded(Shared.Models.Stateless.ILocation.Digits, checkC);
Assert.IsTrue(checkC == 66737);
Assert.IsTrue(checkC.ToString() != rightPadded);
checkC = int.Parse(rightPadded);
Assert.IsTrue(checkC == 667370);
}
[TestMethod]
public void TestMethodParse()
{
Assert.IsTrue(long.TryParse("(637967784888423594)"[1..^1], out long ticks));
Assert.IsTrue(ticks == 637967784888423594);
Assert.IsFalse(long.TryParse("(637967784888423594.61)"[1..^1], out ticks));
Assert.IsTrue(ticks == 0);
Assert.IsFalse(long.TryParse("(637967784888423594.00)"[1..^1], out ticks));
Assert.IsTrue(ticks == 0);
long l = 637967784888423594;
double d;
d = 0.61;
Assert.IsTrue($"({l}{d.ToString("0.00")[1..]})" == "(637967784888423594.61)");
d = 0.6;
Assert.IsTrue($"({l}{d.ToString("0.00")[1..]})" == "(637967784888423594.60)");
d = 0.615;
Assert.IsTrue($"({l}{d.ToString("0.00")[1..]})" == "(637967784888423594.62)");
d = 0.45;
Assert.IsTrue($"({l}{d.ToString("0.00")[1..]})" == "(637967784888423594.45)");
}
}