From 0ad351efd32042da9311ab06548183275ab1956b Mon Sep 17 00:00:00 2001 From: konstantin Date: Wed, 4 Oct 2023 17:21:48 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9BFix=20string=20concatenation=20(#57?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit of the error message introduced in #56 --- .../ChronoJsonDiffPatch/TimeRangePatchChain.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ChronoJsonDiffPatch/ChronoJsonDiffPatch/TimeRangePatchChain.cs b/ChronoJsonDiffPatch/ChronoJsonDiffPatch/TimeRangePatchChain.cs index 4ee4edb..c8db57f 100644 --- a/ChronoJsonDiffPatch/ChronoJsonDiffPatch/TimeRangePatchChain.cs +++ b/ChronoJsonDiffPatch/ChronoJsonDiffPatch/TimeRangePatchChain.cs @@ -76,8 +76,8 @@ private static IEnumerable PrepareForTimePeriodChainConstructor( } var result = timeperiods.OrderBy(tp => tp.Start); - var ambigousStarts = result.GroupBy(tp => tp.To).Where(g => g.Count() > 1).Select(g => g.Select(x => x.Start).Distinct()); - var ambigousEnds = result.GroupBy(tp => tp.End).Where(g => g.Count() > 1).Select(g => g.Select(x => x.End).Distinct()); ; + var ambigousStarts = result.GroupBy(tp => tp.Start).Where(g => g.Count() > 1).Select(g => g.Select(x => x.Start.ToString("o")).First()).Distinct(); + var ambigousEnds = result.GroupBy(tp => tp.End).Where(g => g.Count() > 1).Select(g => g.Select(x => x.End.ToString("o")).First()).Distinct(); ; bool baseConstructorIsLikelyToCrash = ambigousStarts.Any() || ambigousEnds.Any(); if (baseConstructorIsLikelyToCrash) { @@ -88,7 +88,7 @@ private static IEnumerable PrepareForTimePeriodChainConstructor( catch (InvalidOperationException invalidOpException) when (invalidOpException.Message.EndsWith("out of range")) { // if it would crash and we do know the reasons, then we throw a more meaningful exception here instead of waiting for the base class to crash - throw new ArgumentException($"The given periods contain ambiguous starts ({ambigousStarts}) or ends ({ambigousEnds})", innerException: invalidOpException); + throw new ArgumentException($"The given periods contain ambiguous starts ({string.Join(", ", ambigousStarts)}) or ends ({string.Join(", ", ambigousEnds)})", innerException: invalidOpException); } } return result;