public void ValidateCurrency_ReturnsSuccessState_WhenCurrencySupported() { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); //Act var result = sut.ValidateCurrency("USD"); //Assert Assert.Equal(ValidationState.Success, result); }
public void ValidateDestination_ReturnsSuccessState_WhenTypeSupported_WithDestination(OrderType orderType, string destination) { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); //Act var result = sut.ValidateDestination(destination, orderType); //Assert Assert.Equal(ValidationState.Success, result); }
public void ValidateDestination_ReturnsUnsupportedTypeState_WhenTypeUnsupported() { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); //Act var result = sut.ValidateDestination(It.IsAny <string>(), OrderType.None); //Assert Assert.Equal(ValidationState.UnsupportedType, result); }
public void ValidateCurrency_ReturnsUnsupportedCurrencyState_WhenCurrencyUnsupported() { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); var currency = Guid.NewGuid().ToString().Substring(0, 2); //Act var result = sut.ValidateCurrency(currency); //Assert Assert.Equal(ValidationState.UnsupportedCurrency, result); }
public void ValidatePortfolioNotionalAmount_ReturnsSuccessState_WhenMaximumStockNotionalAmountNotMet(decimal amount) { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); var notionalAmount = 10000 - amount; //Act var result = sut.ValidatePortfolioNotionalAmount(notionalAmount); //Assert Assert.Equal(ValidationState.Success, result); }
public void ValidatePortfolioNotionalAmount_ReturnsMaximumPortfolioNotionalAmountNotMetState_WhenMaximumPortfolioNotionalAmountExceeded(decimal amount) { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); var notionalAmount = amount + 100000; //Act var result = sut.ValidatePortfolioNotionalAmount(notionalAmount); //Assert Assert.Equal(ValidationState.MaximumPortfolioNotionalAmountNotMet, result); }
public void ValidateStock_ReturnsSuccessStateWhenAll_ValidationReturnsSuccessState(OrderType orderType, string destination, decimal amount) { //Arrange var mockLogger = new Mock <ILogger <ClientCValidationService> >(); var sut = new ClientCValidationService(mockLogger.Object); var stock = new Stock() { Currency = "USD", Destination = destination, NotionalAmount = amount, OrderType = orderType }; //Act var result = sut.ValidateStock(stock); //Assert Assert.Equal(ValidationState.Success, result); }