public void AddMultipleOperatingSystemsNullOSVersionNullName() { StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection() { new StackHashProductOperatingSystemSummary(null, null, 20) }; addMultipleOperatingSystems(allOperatingSystems); }
public void AddMultipleOperatingSystemsOneOs() { StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection() { new StackHashProductOperatingSystemSummary("Vista", "1.2.3.4", 20) }; addMultipleOperatingSystems(allOperatingSystems); }
public void AddMultipleOperatingSystemsNullvariants() { StackHashProductOperatingSystemSummaryCollection allOperatingSystems = new StackHashProductOperatingSystemSummaryCollection() { new StackHashProductOperatingSystemSummary(null, null, 10), new StackHashProductOperatingSystemSummary("Vista", null, 20), new StackHashProductOperatingSystemSummary(null, "1.2.3.4", 30), new StackHashProductOperatingSystemSummary("Vista", "1.2.3.4", 40) }; addMultipleOperatingSystems(allOperatingSystems); }
/// <summary> /// Checks for OS name and version nulls. /// </summary> public void addMultipleOperatingSystems(StackHashProductOperatingSystemSummaryCollection operatingSystemsToAdd) { // Create a clean index. m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder); m_Index.DeleteIndex(); m_Index.Activate(); int productId = 1234; StackHashProductOperatingSystemSummaryCollection allOSSummaries = new StackHashProductOperatingSystemSummaryCollection(); foreach (StackHashProductOperatingSystemSummary operatingSystem in operatingSystemsToAdd) { m_Index.AddOperatingSystem(operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion); short osId = m_Index.GetOperatingSystemId(operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion); m_Index.AddOperatingSystemSummary(productId, osId, operatingSystem.TotalHits, false); // Check the OS exists now. Assert.AreEqual(true, m_Index.OperatingSystemSummaryExists(productId, operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion)); // Get the specific OS and make sure it was stored properly. StackHashProductOperatingSystemSummary summary = m_Index.GetOperatingSystemSummaryForProduct(productId, operatingSystem.OperatingSystemName, operatingSystem.OperatingSystemVersion); Assert.AreEqual(operatingSystem.OperatingSystemName, summary.OperatingSystemName); Assert.AreEqual(operatingSystem.OperatingSystemVersion, summary.OperatingSystemVersion); } StackHashProductOperatingSystemSummaryCollection osSummaryCollection = m_Index.GetOperatingSystemSummaries(productId); Assert.AreEqual(operatingSystemsToAdd.Count, osSummaryCollection.Count); foreach (StackHashProductOperatingSystemSummary os in osSummaryCollection) { StackHashProductOperatingSystemSummary expectedSummary = operatingSystemsToAdd.FindOperatingSystem(os.OperatingSystemName, os.OperatingSystemVersion); Assert.AreEqual(0, expectedSummary.CompareTo(os)); } // Now update the statistics again using the same values. m_Index.UpdateOperatingSystemStatistics(productId, operatingSystemsToAdd, false); osSummaryCollection = m_Index.GetOperatingSystemSummaries(productId); Assert.AreEqual(operatingSystemsToAdd.Count, osSummaryCollection.Count); foreach (StackHashProductOperatingSystemSummary os in osSummaryCollection) { StackHashProductOperatingSystemSummary expectedSummary = operatingSystemsToAdd.FindOperatingSystem(os.OperatingSystemName, os.OperatingSystemVersion); expectedSummary.TotalHits *= 2; Assert.AreEqual(0, expectedSummary.CompareTo(os)); } // Now update the statistics again using the same values. m_Index.UpdateOperatingSystemStatistics(productId, operatingSystemsToAdd, false); }
// // You can use the following additional attributes as you write your tests: // // Use ClassInitialize to run code before running the first test in the class // [ClassInitialize()] // public static void MyClassInitialize(TestContext testContext) { } // // Use ClassCleanup to run code after all tests in a class have run // [ClassCleanup()] // public static void MyClassCleanup() { } // // Use TestInitialize to run code before running each test // [TestInitialize()] // public void MyTestInitialize() { } // // Use TestCleanup to run code after each test has run // [TestCleanup()] // public void MyTestCleanup() { } // #endregion /// <summary> /// Adds the rollup of OperatingSystems. /// </summary> public void addOperatingSystemSummaries(int numOperatingSystemSummaries) { // Create a clean index. m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder); m_Index.DeleteIndex(); m_Index.Activate(); String operatingSystemNameBase = "Microsoft Windows Vista"; String operatingSystemVersionBase = "6.0.0.1212.0"; int productId = 1234; // Check an OperatingSystem that doesn't exist. Assert.AreEqual(false, m_Index.OperatingSystemSummaryExists(productId, operatingSystemNameBase, operatingSystemVersionBase)); StackHashProductOperatingSystemSummaryCollection allOperatingSystemSummaries = new StackHashProductOperatingSystemSummaryCollection(); for (int operatingSystemCount = 0; operatingSystemCount < numOperatingSystemSummaries; operatingSystemCount++) { String operatingSystemName = operatingSystemNameBase + operatingSystemCount.ToString(); String operatingSystemVersion = operatingSystemVersionBase + operatingSystemCount.ToString(); int totalHits = operatingSystemCount + 1; m_Index.AddOperatingSystem(operatingSystemName, operatingSystemVersion); short operatingSystemId = m_Index.GetOperatingSystemId(operatingSystemName, operatingSystemVersion); m_Index.AddOperatingSystemSummary(productId, operatingSystemId, totalHits, false); // Check the OperatingSystem exists now. Assert.AreEqual(true, m_Index.OperatingSystemSummaryExists(productId, operatingSystemName, operatingSystemVersion)); // Get the specific OperatingSystem and make sure it was stored properly. StackHashProductOperatingSystemSummary summary = m_Index.GetOperatingSystemSummaryForProduct(productId, operatingSystemName, operatingSystemVersion); Assert.AreEqual(operatingSystemName, summary.OperatingSystemName); Assert.AreEqual(operatingSystemVersion, summary.OperatingSystemVersion); Assert.AreEqual(totalHits, summary.TotalHits); allOperatingSystemSummaries.Add(summary); } StackHashProductOperatingSystemSummaryCollection operatingSystemSummaryCollection = m_Index.GetOperatingSystemSummaries(productId); Assert.AreEqual(numOperatingSystemSummaries, operatingSystemSummaryCollection.Count); foreach (StackHashProductOperatingSystemSummary operatingSystemData in operatingSystemSummaryCollection) { // Find the matching OperatingSystem in the expected list. StackHashProductOperatingSystemSummary expectedSummary = allOperatingSystemSummaries.FindOperatingSystem(operatingSystemData.OperatingSystemName, operatingSystemData.OperatingSystemVersion); Assert.AreNotEqual(null, expectedSummary); Assert.AreEqual(0, expectedSummary.CompareTo(operatingSystemData)); } }
public void UpdateHitSummaries(StackHashProductHitDateSummaryCollection hitDateSummary, StackHashProductLocaleSummaryCollection localeSummary, StackHashProductOperatingSystemSummaryCollection osSummary) { if (hitDateSummary != _hitDateSummary) { _hitDateSummary = hitDateSummary; RaisePropertyChanged("HitDateSummary"); } if (localeSummary != _localeSummary) { _localeSummary = localeSummary; RaisePropertyChanged("LocaleSummary"); } if (osSummary != _osSummary) { _osSummary = osSummary; RaisePropertyChanged("OsSummary"); } }
/// <summary> /// Gets the rollup of operating systems. /// </summary> public void getOperatingSystemRollup(int numEventInfos, int osIdModulo) { m_Index = new SqlErrorIndex(StackHashSqlConfiguration.Default, SqlUtils.UnitTestDatabase, m_RootCabFolder); m_Index.DeleteIndex(); m_Index.Activate(); DateTime creationDateTime = new DateTime(2010, 04, 04, 22, 9, 0, DateTimeKind.Utc); DateTime modifiedDateTime = new DateTime(2010, 05, 05, 23, 10, 0, DateTimeKind.Utc); StackHashProduct product1 = new StackHashProduct(creationDateTime, modifiedDateTime, null, 1, "TestProduct1", 20, 30, "2.10.02123.1293"); StackHashFile file1 = new StackHashFile(creationDateTime, modifiedDateTime, 20, creationDateTime, "File1.dll", "2.3.4.5"); StackHashEventSignature eventSignature = new StackHashEventSignature(); eventSignature.Parameters = new StackHashParameterCollection(); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationName, "AppName")); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationVersion, "1.2.3.4")); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamApplicationTimeStamp, creationDateTime.ToString())); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleName, "ModuleName")); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleVersion, "2.3.4.5")); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamModuleTimeStamp, creationDateTime.ToString())); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamExceptionCode, "1234")); eventSignature.Parameters.Add(new StackHashParameter(StackHashEventSignature.ParamOffset, "0x1234")); eventSignature.InterpretParameters(); StackHashEvent event1 = new StackHashEvent(creationDateTime, modifiedDateTime, "EventTypeName1", 100, eventSignature, 20, file1.Id, "bug"); m_Index.AddProduct(product1); m_Index.AddFile(product1, file1); m_Index.AddEvent(product1, file1, event1); StackHashEventInfoCollection eventInfos = new StackHashEventInfoCollection(); int hitCount = 1; int totalHits = 0; String localeCodeBase = "US"; String languageNameBase = "ENGLISH"; String osBase = "Vista"; for (int i = 1; i <= numEventInfos; i++) { DateTime nowTime = DateTime.Now; DateTime date = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, nowTime.Hour, nowTime.Minute, 0); int osId = (i % osIdModulo) + 1; int localeId = i; totalHits += hitCount; StackHashEventInfo eventInfo = new StackHashEventInfo(date.AddDays(i * 1), date.AddDays(i * 2), date.AddDays(i * 3), languageNameBase + localeId.ToString(), localeId, localeCodeBase + localeId.ToString(), osBase + osId.ToString(), osId.ToString(), osId); eventInfos.Add(eventInfo); } m_Index.AddEventInfoCollection(product1, file1, event1, eventInfos); StackHashProductOperatingSystemSummaryCollection osSummary = m_Index.GetOperatingSystemSummary(product1.Id); StackHashProductOperatingSystemSummaryCollection osSummaryFresh = m_Index.GetOperatingSystemSummaryFresh(product1.Id); Assert.AreEqual(0, osSummary.CompareTo(osSummaryFresh)); Dictionary <int, StackHashProductOperatingSystemSummary> osCheckList = new Dictionary <int, StackHashProductOperatingSystemSummary>(); if (osIdModulo < numEventInfos) { Assert.AreEqual(osIdModulo, osSummary.Count); } else { Assert.AreEqual(numEventInfos, osSummary.Count); } foreach (StackHashProductOperatingSystemSummary osData in osSummary) { int osId = int.Parse(osData.OperatingSystemVersion); if (osIdModulo >= numEventInfos) { Assert.AreEqual(osId, osData.TotalHits); } else { Assert.AreEqual(osId * ((numEventInfos / osIdModulo)), osData.TotalHits); } Assert.AreEqual(osBase + osId.ToString(), osData.OperatingSystemName); Assert.AreEqual(false, osCheckList.ContainsKey(osId)); osCheckList.Add(osId, osData); } // Update the stats fresh. m_Index.UpdateProductStatistics(product1.Id); StackHashProductOperatingSystemSummaryCollection osSummary2 = m_Index.GetOperatingSystemSummary(product1.Id); Assert.AreEqual(0, osSummary.CompareTo(osSummary2)); }