public void ShouldConfigureMinAndMaxDefaultValuesOnConstructorIfParametersAreNull() { QuantityAnalysis quantityAnalysis = new QuantityAnalysis(null, null, null, null); Assert.AreEqual(quantityAnalysis.Min, int.MinValue); Assert.AreEqual(quantityAnalysis.Max, int.MaxValue); }
public void ShouldReturnResultOnValidAnalyzeCall() { int min = 100; int max = 50; Mock <IAnalysisResult> analysisResultMock = new Mock <IAnalysisResult>(); Mock <IQuantityAnalysisResultFactory> quantityAnalysisResultFactoryMock = new Mock <IQuantityAnalysisResultFactory>(); quantityAnalysisResultFactoryMock.Setup(m => m.CreateInstance(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())).Returns(analysisResultMock.Object); Mock <IQuantitySearch> quantitySearchMock = new Mock <IQuantitySearch>(); quantitySearchMock.Setup(m => m.Search(It.IsAny <IDNA>())).Returns(100); List <IQuantitySearch> listOfQuantitySearch = new List <IQuantitySearch>() { quantitySearchMock.Object }; QuantityAnalysis quantityAnalysis = new QuantityAnalysis(min, max, quantityAnalysisResultFactoryMock.Object, listOfQuantitySearch); Mock <IDNA> dnaMock = new Mock <IDNA>(); dnaMock.Setup(m => m.IsValid()).Returns(true); IAnalysisResult analysisResult = quantityAnalysis.Analyze(dnaMock.Object); Assert.AreEqual(analysisResult, analysisResultMock.Object); }
private IQuantityAnalysis GetQuantityAnalysis() { int minMutantTest = 2; int maxMutantTest = int.MaxValue; /* * Para la prueba de integración necesito que devuelva objetos reales, por lo que voy a tener que crear instancias * de las clases de resultado */ Mock <IQuantitySearch> quantitySearchMock = new Mock <IQuantitySearch>(); QuantityAnalysisResult positiveQuantityAnalysisResult = new QuantityAnalysisResult(0, 1, true); QuantityAnalysisResult negativeQuantityAnalysisResult = new QuantityAnalysisResult(0, 1, false); Mock <IUnityContainer> containerMock = new Mock <IUnityContainer>(); containerMock.Setup(m => m.Resolve(typeof(IAnalysisResult), "quantityAnalysisResult", It.IsAny <ParameterOverride>(), It.IsAny <ParameterOverride>(), new ParameterOverride("result", true))).Returns(positiveQuantityAnalysisResult); containerMock.Setup(m => m.Resolve(typeof(IAnalysisResult), "quantityAnalysisResult", It.IsAny <ParameterOverride>(), It.IsAny <ParameterOverride>(), new ParameterOverride("result", false))).Returns(negativeQuantityAnalysisResult); IQuantityAnalysisResultFactory quantityAnalysisResultFactory = new QuantityAnalysisResultFactory(containerMock.Object); List <IQuantitySearch> quantitySearchList = new List <IQuantitySearch>() { new AllDirectionsSequenceQuantitySearch("AAAA"), new AllDirectionsSequenceQuantitySearch("TTTT"), new AllDirectionsSequenceQuantitySearch("CCCC"), new AllDirectionsSequenceQuantitySearch("GGGG") }; IQuantityAnalysis quantityAnalysis = new QuantityAnalysis(minMutantTest, maxMutantTest, quantityAnalysisResultFactory, quantitySearchList); return(quantityAnalysis); }
public void ShouldThrowExceptionWhenDNAIsInvalid() { int min = 100; int max = 50; Mock <IQuantityAnalysisResultFactory> quantityAnalysisResultFactoryMock = new Mock <IQuantityAnalysisResultFactory>(); Mock <IQuantitySearch> quantitySearchMock = new Mock <IQuantitySearch>(); List <IQuantitySearch> listOfQuantitySearch = new List <IQuantitySearch>() { quantitySearchMock.Object }; QuantityAnalysis quantityAnalysis = new QuantityAnalysis(min, max, quantityAnalysisResultFactoryMock.Object, listOfQuantitySearch); Mock <IDNA> dnaMock = new Mock <IDNA>(); dnaMock.Setup(m => m.IsValid()).Returns(false); quantityAnalysis.Analyze(dnaMock.Object); }
public void ShouldConfigurePropertiesProperlyOnConstrutor() { int min = 100; int max = 50; Mock <IQuantityAnalysisResultFactory> quantityAnalysisResultFactoryMock = new Mock <IQuantityAnalysisResultFactory>(); Mock <IQuantitySearch> quantitySearchMock = new Mock <IQuantitySearch>(); List <IQuantitySearch> listOfQuantitySearch = new List <IQuantitySearch>() { quantitySearchMock.Object }; QuantityAnalysis quantityAnalysis = new QuantityAnalysis(min, max, quantityAnalysisResultFactoryMock.Object, listOfQuantitySearch); Assert.AreEqual(min, quantityAnalysis.Min); Assert.AreEqual(max, quantityAnalysis.Max); Assert.AreEqual(listOfQuantitySearch, quantityAnalysis.QuantitySearchList); Assert.AreEqual(QuantityAnalysis.ClassKey, quantityAnalysis.Type); }