public void ReturnsASpecialCaseStringForThePreviousDay()
            {
                var converter = new DateToTitleStringValueConverter();
                var date      = DateTimeOffset.Now.AddDays(-1);

                var result = converter.Convert(date, typeof(DateTimeOffset), null, CultureInfo.CurrentCulture);

                result.Should().Be(Resources.Yesterday);
            }
            public void ReturnsASpecialCaseStringForTheCurrentDay()
            {
                var converter = new DateToTitleStringValueConverter();
                var date      = DateTime.UtcNow;

                var result = converter.Convert(date, typeof(DateTime), null, CultureInfo.CurrentCulture);

                result.Should().Be(Resources.Today);
            }
            public Property ReturnsAFormattedStringForAnyOtherDate()
            {
                var arb = Arb.Default.DateTimeOffset().Filter(d => d < DateTime.UtcNow.AddDays(-1));

                return(Prop.ForAll(arb, date =>
                {
                    var converter = new DateToTitleStringValueConverter();

                    var result = converter.Convert(date, typeof(DateTimeOffset), null, CultureInfo.CurrentCulture);

                    result.Should().Be($"{date:ddd, dd MMM}");
                }));
            }
            public Property ReturnsAFormattedStringForAnyOtherDate()
            {
                var arb = Arb.Default.DateTimeOffset().Filter(d => d < DateTimeOffset.Now.AddDays(-1));

                return(Prop.ForAll(arb, date =>
                {
                    var converter = new DateToTitleStringValueConverter();

                    var result = converter.Convert(date, typeof(DateTimeOffset), null, CultureInfo.CurrentCulture);

                    var expectedCulture = CultureInfo.CreateSpecificCulture("en-US");
                    result.Should().Be(date.ToString("ddd, dd MMM", expectedCulture));
                }));
            }