public void Addition_StringSeparatedBySinglDelimiterRepeated_ShouldAddStingNumbers() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); //Act double result = calc.Addition("//[***]\n1***2***3"); //Assert Assert.AreEqual(6, result); }
public void Addition_StringSeparatedByMultipleDelimitersIncludingSquareBracket_ShouldAddStingNumbers() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); //Act double result = calc.Addition("//[*][%][[]]\n1*2%3[]4"); //Assert Assert.AreEqual(10, result); }
public void Addition_WithEmptyString_ShouldReturnZero() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); //Act double result = calc.Addition(""); //Assert Assert.AreEqual(0, result); }
public void Addition_WaitForloggerToThrowException_NotifiesIWebServiceOfException() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); mockLogger.Setup(logger => logger.LogResults(It.IsAny <double>())).Throws(new Exception("An exception has been thrown")); mockWebService.Setup(service => service.ExceptionHandler(It.IsAny <Exception>())).Verifiable(); //Act Assert.ThrowsException <Exception>(() => calc.Addition("//[*][%][[]]\n1*2%3[]4")); //Assert mockWebService.Verify(); }
public void Addition_VerifyTheDependency_CallsAdditionFunction() { //Arrange var mockLogger = new Mock <ILogger>(); //faking logger var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); //The calculator class depends in the ILogger forka specific function mockLogger .Setup(logger => logger.LogResults(It.IsAny <double>())) .Verifiable(); //Tesing to see if the add fucntion executed and used the desired fucntion in ILogger //Act calc.Addition("//[*][%][[]]\n1*2%3[]4"); //Assert mockLogger.Verify(); }
public void Addition_DisplayAdditonResultToConsole_CheckIfWrittingToConsole() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); var calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); mockWriter.Setup(writer => writer.WriteResults(It.IsAny <double>())) .Callback(delegate(double result) { Console.Write(result); }).Verifiable(); //Act calc.Addition("//[*][%][[]]\n1*2%3[]4"); //Assert mockWriter.Verify(); }
public void Addition_CompareNewResultTheLoggedResult_CallsAdditionFunctionAndReturnsResult() { //Arrange var mockLogger = new Mock <ILogger>(); var mockWebService = new Mock <IWebService>(); var mockWriter = new Mock <IWriter>(); Calculator calc = new Calculator(mockLogger.Object, mockWebService.Object, mockWriter.Object); mockLogger.Setup(logger => logger.LogResults(It.IsAny <double>())) .Callback(delegate(double result) { mockLogger.Setup(l => l.LastResult).Returns(result); }); //Act double newResult = calc.Addition("//[*][%][[]]\n1*2%3[]4"); //Assert Assert.AreEqual(mockLogger.Object.LastResult, newResult); }