chore: add xml comments
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace MirageMaintenance;
|
namespace MirageMaintenance;
|
||||||
|
|
||||||
class Program
|
public class Program
|
||||||
{
|
{
|
||||||
public static async Task<int> Main(string[] args)
|
public static async Task<int> Main(string[] args)
|
||||||
{
|
{
|
||||||
@@ -34,16 +34,34 @@ class Program
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a report from the Oasis.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ValueHistories">The value histories.</param>
|
||||||
|
/// <returns>An instance of <see cref="OasisReport"/>.</returns>
|
||||||
public class OasisReport(
|
public class OasisReport(
|
||||||
List<ValueHistory> valueHistories
|
List<ValueHistory> valueHistories
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the value histories.
|
||||||
|
/// </summary>
|
||||||
public List<ValueHistory> ValueHistories { get; init; } = valueHistories;
|
public List<ValueHistory> ValueHistories { get; init; } = valueHistories;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Calculates the sum of all next values.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="backwards">if set to true will extrapolate next values backwards</param>
|
||||||
|
/// <returns>The sum of all next values.</returns>
|
||||||
public long CalculateSumOfNextValues(bool backwards = false) => ValueHistories
|
public long CalculateSumOfNextValues(bool backwards = false) => ValueHistories
|
||||||
.Select(valueHistory => valueHistory.CalculateNextValue(backwards))
|
.Select(valueHistory => valueHistory.CalculateNextValue(backwards))
|
||||||
.Sum();
|
.Sum();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parses the specified oasis report input.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="oasisReportInput">The oasis report input.</param>
|
||||||
|
/// <returns>An instance of <see cref="OasisReport"/>.</returns>
|
||||||
public static OasisReport Parse(string[] oasisReportInput)
|
public static OasisReport Parse(string[] oasisReportInput)
|
||||||
{
|
{
|
||||||
var valueHistories = new List<ValueHistory>();
|
var valueHistories = new List<ValueHistory>();
|
||||||
@@ -63,17 +81,34 @@ public class OasisReport(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a value history.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Values">The values.</param>
|
||||||
|
/// <returns>An instance of <see cref="ValueHistory"/>.</returns>
|
||||||
public class ValueHistory(
|
public class ValueHistory(
|
||||||
List<long> values
|
List<long> values
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the values.
|
||||||
|
/// </summary>
|
||||||
List<long> Values { get; init; } = values;
|
List<long> Values { get; init; } = values;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Calculates the differences between each value.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="values">The values.</param>
|
||||||
|
/// <returns>The differences between each value.</returns>
|
||||||
public List<long> CalculateDifferences(List<long> values) => Enumerable
|
public List<long> CalculateDifferences(List<long> values) => Enumerable
|
||||||
.Range(0, values.Count - 1)
|
.Range(0, values.Count - 1)
|
||||||
.Select(i => values[i + 1] - values[i])
|
.Select(i => values[i + 1] - values[i])
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Calculates the history.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The history.</returns>
|
||||||
public List<List<long>> CalculateHistory()
|
public List<List<long>> CalculateHistory()
|
||||||
{
|
{
|
||||||
var allHistoricalValues = new List<List<long>>();
|
var allHistoricalValues = new List<List<long>>();
|
||||||
@@ -92,6 +127,11 @@ public class ValueHistory(
|
|||||||
return allHistoricalValues;
|
return allHistoricalValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Calculates the next value.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="backwards">if set to true will extrapolate next value backwards</param>
|
||||||
|
/// <returns>The next value.</returns>
|
||||||
public long CalculateNextValue(bool backwards = false)
|
public long CalculateNextValue(bool backwards = false)
|
||||||
{
|
{
|
||||||
var historicalValues = CalculateHistory();
|
var historicalValues = CalculateHistory();
|
||||||
|
|||||||
Reference in New Issue
Block a user