/// <summary> /// Creates the view model for TimeSeriesDiagramOnSpeciesObservationAbundanceIndex. /// </summary> /// <returns>A view model for TimeSeriesDiagramOnSpeciesObservationAbundanceIndex.</returns> public ResultTimeSeriesOnSpeciesObservationCountsViewModel CreateResultTimeSeriesDiagramOnSpeciesObservationAbundanceIndexViewModel() { var model = new ResultTimeSeriesOnSpeciesObservationCountsViewModel(); SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(UserContext, MySettings); model.ComplexityEstimate = resultCalculator.GetQueryComplexityEstimate(); model.NoOfTaxa = settings.Filter.Taxa.NumberOfSelectedTaxa; TaxonList taxonList = CoreData.TaxonManager.GetTaxa(UserContext, MySettings.Filter.Taxa.TaxonIds.ToList()); model.SelectedTaxa = taxonList.GetGenericList().ToTaxonViewModelList(); return(model); }
public void GetResult_Add1TaxonToFilter_Always0AbundanceIndexForSpecificTaxaPerYear() { // Arrange SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator; List <AbundanceIndexData> result; LoginApplicationUser(); SessionHandler.MySettings.Filter.Taxa.AddTaxonId(5); resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings); // Act result = resultCalculator.CalculateAbundanceIndex(0, SessionHandler.MySettings.Filter.Taxa.TaxonIds[0]); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count > 0); foreach (AbundanceIndexData abundanceIndexData in result) { Assert.IsNull(abundanceIndexData.AbundanceIndex); // the logarithmic value (Value) is always Null if only 1 taxon is selected Assert.IsTrue(!string.IsNullOrEmpty(abundanceIndexData.TimeStep)); } }
/// <summary> /// Creates an excel file. /// Writes the content of a list into a worksheet of an excelfile and save the file. /// </summary> /// <param name="autosizeColumnWidth"> /// If true, the columns will be autosized. /// </param> /// <returns> /// The <see cref="MemoryStream"/>. /// </returns> private MemoryStream CreateExcelFile(bool autosizeColumnWidth = false) { var memoryStream = new MemoryStream(); try { using (ExcelPackage package = new ExcelPackage(memoryStream)) { var calculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(currentUser, SessionHandler.MySettings); var data = calculator.GetAbundanceIndexDataResults((int)_periodicity); // Add a new worksheet to the empty workbook. // The name of the sheet can not be longer than 31 characters. var worksheet = package.Workbook.Worksheets.Add("SLW Data"); AddHeaders(worksheet); AddSpeciesObservationsData(worksheet, data); FormatHeader(worksheet, 1, 6); if (autosizeColumnWidth) { worksheet.Cells.AutoFitColumns(0); } //Add aditional sheets if user has request that AddAditionalSheets(package); package.Save(); } memoryStream.Position = 0; return(memoryStream); } catch (Exception) { memoryStream.Dispose(); throw; } }
public void GetResult_AddMultipleTaxonToFilter_ReturnedValueIsDouble_PerYear() { // Arrange SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator; List <AbundanceIndexData> result; LoginApplicationUser(); SessionHandler.MySettings.Filter.Taxa.AddTaxonIds(new List <int> { 5, 6, 8, 14, 22, 25 }); resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings); // Act result = resultCalculator.CalculateAbundanceIndex(0, SessionHandler.MySettings.Filter.Taxa.TaxonIds[0]); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count > 0); foreach (AbundanceIndexData abundanceIndexData in result) { if (abundanceIndexData.AbundanceIndex.HasValue) { Assert.IsTrue(abundanceIndexData.AbundanceIndex > -2); // Value contains the logarithmic value, it seems it is always greater than -2 } } }