public void Generate_ValidPageSpecsString_ReturnsCounts() { ViewResult result = _unitUnderTest.Generate(_specs1) as ViewResult; PageSpecs specs = (PageSpecs)result.Model; Assert.AreEqual("GeneratedPage", result.ViewName); Assert.AreEqual(11, specs.Status200Count); Assert.AreEqual(1, specs.Status403Count); Assert.AreEqual(2, specs.Status404Count); Assert.AreEqual(3, specs.Status500Count); Assert.AreEqual(4, specs.Status503Count); //Make sure starting indexes are valid Assert.AreEqual(1, specs.Status200StartingIndex); Assert.AreEqual(1, specs.Status403StartingIndex); Assert.AreEqual(1, specs.Status404StartingIndex); Assert.AreEqual(1, specs.Status500StartingIndex); Assert.AreEqual(1, specs.Status503StartingIndex); //Make sure starting indexes are valid after another method call result = _unitUnderTest.Generate(_specs1) as ViewResult; specs = (PageSpecs)result.Model; Assert.AreEqual(12, specs.Status200StartingIndex); Assert.AreEqual(2, specs.Status403StartingIndex); Assert.AreEqual(3, specs.Status404StartingIndex); Assert.AreEqual(4, specs.Status500StartingIndex); Assert.AreEqual(5, specs.Status503StartingIndex); }
public void ClearCounters_ReturnsDefaultView() { //Generate pages to get above zero (We know this works correctly if Generate_ValidPageSpecsString_ParsesStatusAndCount passed) ViewResult generatePageResult = _unitUnderTest.Generate(_specs1) as ViewResult; //Call CleanCounters method ContentResult clearResult = _unitUnderTest.ClearCounters() as ContentResult; Assert.AreEqual("Counts Cleared!", clearResult.Content); //The next generation of pages should have the counts as if this was the first generation of pages generatePageResult = _unitUnderTest.Generate(_specs1) as ViewResult; PageSpecs specs = (PageSpecs)generatePageResult.Model; specs = (PageSpecs)generatePageResult.Model; Assert.AreEqual(11, specs.Status200Count); Assert.AreEqual(1, specs.Status403Count); Assert.AreEqual(2, specs.Status404Count); Assert.AreEqual(3, specs.Status500Count); Assert.AreEqual(4, specs.Status503Count); Assert.AreEqual(1, specs.Status200StartingIndex); Assert.AreEqual(1, specs.Status403StartingIndex); Assert.AreEqual(1, specs.Status404StartingIndex); Assert.AreEqual(1, specs.Status500StartingIndex); Assert.AreEqual(1, specs.Status503StartingIndex); }
public void SetUp() { _unitUnderTest = new PageGeneratorController(); _specs1 = new PageSpecs { Status200Count = 11, Status403Count = 1, Status404Count = 2, Status500Count = 3, Status503Count = 4 }; }
public void Generate_EmptyPageSpecs_ReturnsEmptyCounts() { ViewResult result = _unitUnderTest.Generate(new PageSpecs()) as ViewResult; PageSpecs specs = (PageSpecs)result.Model; Assert.AreEqual("GeneratedPage", result.ViewName); Assert.AreEqual(0, specs.Status200Count); Assert.AreEqual(0, specs.Status403Count); Assert.AreEqual(0, specs.Status404Count); Assert.AreEqual(0, specs.Status500Count); Assert.AreEqual(0, specs.Status503Count); //Make sure starting indexes are valid Assert.AreEqual(1, specs.Status200StartingIndex); Assert.AreEqual(1, specs.Status403StartingIndex); Assert.AreEqual(1, specs.Status404StartingIndex); Assert.AreEqual(1, specs.Status500StartingIndex); Assert.AreEqual(1, specs.Status503StartingIndex); }
public IActionResult Generate(PageSpecs pageSpecs) { if (pageSpecs == null) { throw new ArgumentNullException("pageSpecs"); } if (pageSpecs.Status200Count < 0) { throw new ArgumentException("pageSpecs.Status200 cannot be negative"); } if (pageSpecs.Status403Count < 0) { throw new ArgumentException("pageSpecs.Status403 cannot be negative"); } if (pageSpecs.Status404Count < 0) { throw new ArgumentException("pageSpecs.Status404 cannot be negative"); } if (pageSpecs.Status500Count < 0) { throw new ArgumentException("pageSpecs.Status500 cannot be negative"); } if (pageSpecs.Status503Count < 0) { throw new ArgumentException("pageSpecs.Status503 cannot be negative"); } if (DateTime.Now > refreshCountsTime) { InitializeCounts(); } PageSpecs finalSpecs = new PageSpecs(); lock (_generatedPagesCounts) { finalSpecs.Status200Count = pageSpecs.Status200Count; _generatedPagesCounts[200] += pageSpecs.Status200Count; finalSpecs.Status200StartingIndex = (_generatedPagesCounts[200] - pageSpecs.Status200Count) + 1; finalSpecs.Status403Count = pageSpecs.Status403Count; _generatedPagesCounts[403] += pageSpecs.Status403Count; finalSpecs.Status403StartingIndex = (_generatedPagesCounts[403] - pageSpecs.Status403Count) + 1; finalSpecs.Status404Count = pageSpecs.Status404Count; _generatedPagesCounts[404] += pageSpecs.Status404Count; finalSpecs.Status404StartingIndex = (_generatedPagesCounts[404] - pageSpecs.Status404Count) + 1; finalSpecs.Status500Count = pageSpecs.Status500Count; _generatedPagesCounts[500] += pageSpecs.Status500Count; finalSpecs.Status500StartingIndex = (_generatedPagesCounts[500] - pageSpecs.Status500Count) + 1; finalSpecs.Status503Count = pageSpecs.Status503Count; _generatedPagesCounts[503] += pageSpecs.Status503Count; finalSpecs.Status503StartingIndex = (_generatedPagesCounts[503] - pageSpecs.Status503Count) + 1; } return(View("GeneratedPage", finalSpecs)); }