public void TestGetAllMessageTypes(IEnumerable <DataObject> messageTypes) { foreach (var dataService in DataServices) { // Arrange. var objsToUpdate = messageTypes.ToArray(); if (objsToUpdate.Length > 0) { dataService.UpdateObjects(ref objsToUpdate); } // Reset DataObjects status foreach (var item in objsToUpdate) { item.Prototyping(false); } var component = new DataServiceObjectRepository(dataService, GetMockStatisticsService()); // Act. var actualList = component.GetAllMessageTypes(); // Assert. Assert.Equal(objsToUpdate.Length, actualList.Count()); if (objsToUpdate.Length > 0) { ObjectRepositoryTestHelper.CheckPropertiesOfAllObjects(actualList, objsToUpdate, new[] { "ID", "Name" }); } } }
private void TestLoadingAllData <TDataObjectType>( IDataService dataService, DataObject[] objsToUpdate, DataObject[] additionalObjsToUpdate, CachedDataServiceObjectRepository component, Func <IEnumerable <TDataObjectType> > methodUnderTest, int updatePeriod, string[] propertiesToCheck) where TDataObjectType : DataObject { // Arrange. dataService.UpdateObjects(ref objsToUpdate); var objsToCheckCount = ObjectRepositoryTestHelper.GetObjectsOfSpecifiedTypeCount <TDataObjectType>(objsToUpdate); var additionalObjsToCheckCount = ObjectRepositoryTestHelper.GetObjectsOfSpecifiedTypeCount <TDataObjectType>(additionalObjsToUpdate); // Act and Assert. var actualList = methodUnderTest(); // If component is not started then no data should be stored in cache. Assert.Equal(0, actualList.Count()); component.Prepare(); actualList = methodUnderTest(); // Ititially stored data shuould be loaded to cache after preparing component. Assert.Equal(objsToCheckCount, actualList.Count()); ObjectRepositoryTestHelper.CheckPropertiesOfAllObjects(actualList, objsToUpdate, propertiesToCheck); // Add more buses to database. dataService.UpdateObjects(ref additionalObjsToUpdate); component.Start(); Thread.Sleep(updatePeriod + 1000); actualList = methodUnderTest(); // Ititially stored data and additional data shuould be loaded to cache after starting component. Assert.Equal(objsToCheckCount + additionalObjsToCheckCount, actualList.Count()); ObjectRepositoryTestHelper.CheckPropertiesOfAllObjects(actualList, objsToUpdate, propertiesToCheck); ObjectRepositoryTestHelper.CheckPropertiesOfAllObjects(actualList, additionalObjsToUpdate, propertiesToCheck); component.Stop(); component.ClearCache(); }
public void TestGetAllRestrictions(IEnumerable <DataObject> sendingPermissions) { foreach (var dataService in DataServices) { // Arrange. var sendingPermissionsArray = sendingPermissions.ToArray(); if (sendingPermissionsArray.Length > 0) { var client1 = ((SendingPermission)sendingPermissionsArray[0]).Client; var client2 = ((SendingPermission)sendingPermissionsArray[1]).Client; var messageType1 = ((SendingPermission)sendingPermissionsArray[0]).MessageType; var messageType2 = ((SendingPermission)sendingPermissionsArray[1]).MessageType; DataObject[] objsToUpdate = { client1, client2, messageType1, messageType2, sendingPermissionsArray[0], sendingPermissionsArray[1] }; dataService.UpdateObjects(ref objsToUpdate); // Reset DataObjects status foreach (var item in objsToUpdate) { item.Prototyping(false); } } var component = new DataServiceObjectRepository(dataService, GetMockStatisticsService()); // Act. var actualList = component.GetAllRestrictions(); // Assert. Assert.Equal(sendingPermissionsArray.Length, actualList.Count()); if (sendingPermissionsArray.Length > 0) { ObjectRepositoryTestHelper.CheckPropertiesOfAllObjects(actualList, sendingPermissionsArray, new[] { "Client.ID" }); } } }