public void GivenErrorMessageIsntAlreadySet_ReturnsInterchangeExceptionMessage()
            {
                // Arrange
                var attribute = new DiagnoseaAfterNowAttribute();

                // Act
                var result = attribute.FormatErrorMessage("name");

                // Assert
                Assert.That(result, Is.EqualTo(ExceptionMessages.Interchange.InvalidDateAfterNow));
            }
            public void GivenValidDateAfterNow_ReturnsTrue()
            {
                // Arrange
                var attribute = new DiagnoseaAfterNowAttribute();

                // Act
                var result = attribute.IsValid(DateTime.UtcNow.AddSeconds(20));

                // Assert
                Assert.That(result, Is.True);
            }
            public void GivenInvalidDate_ReturnsFalse()
            {
                // Arrange
                var attribute = new DiagnoseaAfterNowAttribute();

                // Act
                var result = attribute.IsValid(null);

                // Assert
                Assert.That(result, Is.False);
            }
            public void GivenErrorMessageIsAlreadySet_ReturnsAlreadySetErrorMessage()
            {
                // Arrange
                var attribute = new DiagnoseaAfterNowAttribute {
                    ErrorMessage = "This is an error message"
                };

                // Act
                var result = attribute.FormatErrorMessage("name");

                // Assert
                Assert.That(result, Is.EqualTo(attribute.ErrorMessage));
            }