public void ShouldInstrumentInnerclassesCorrectly() { TypeDefinition type = assembly.Type(typeof (OuterClass.InnerClass)); MethodDefinition instrumentedMethod = type.Methods[0]; var instructions = new List<Instruction>(instrumentedMethod.Body.Instructions.Cast<Instruction>()); List<Instruction> instructionsCallingOtherMethods = instructions.FindAll(instruction => instruction.OpCode == OpCodes.Call); instructionsCallingOtherMethods.ShouldBeOfSize(2); instructionsCallingOtherMethods[0].Operand.ToString().ShouldContain("EnteringMethod"); instructionsCallingOtherMethods[1].Operand.ToString().ShouldContain("ExitingMethod"); }
public void Can_create_a_drive_system_containing_same_manual_more_than_once() { var ds = new DriveSystem {Name = "Drive System 1"}; var englishManual = new Manual {Title = "Operation Manual", Language = "English"}; ds.Manuals.Add(englishManual); ds.Manuals.Add(englishManual); ds.Manuals.Add(new Manual {Title = "Operation Manual", Language = "German"}); Session.Save(ds); Session.Flush(); Session.Clear(); // Assertions var fromDb = Session.Get<DriveSystem>(ds.Id); Assert.AreEqual(ds.Manuals.Count, fromDb.Manuals.Count); // Assert that bag can really contain same equipment multiple times var temp = new List<Manual>(fromDb.Manuals); Assert.AreEqual(2, temp.FindAll(m => m.Title == englishManual.Title && m.Language == englishManual.Language).Count); }
public void Can_create_a_drive_system_containing_same_equipment_more_than_once() { var ds = new DriveSystem { Name = "Drive System 1" }; ds.Equipments.Add("Motor"); ds.Equipments.Add("Motor"); ds.Equipments.Add("Motor"); ds.Equipments.Add("Filter"); ds.Equipments.Add("Transformer"); ds.Equipments.Add("Starter"); Session.Save(ds); Session.Flush(); Session.Clear(); // Assertions var fromDb = Session.Get<DriveSystem>(ds.Id); Assert.AreNotSame(ds, fromDb); Assert.AreEqual(ds.Name, fromDb.Name); Assert.AreEqual(ds.Equipments.Count, fromDb.Equipments.Count); // Assert that bag can really contain same equipment multiple times var temp = new List<string>(fromDb.Equipments); Assert.AreEqual(3, temp.FindAll(e => e == "Motor").Count); }
public void GivenBankAccount_WhenValidatingIban_ThenWrongStuctureForCountryResultsInValidationError() { var expectedErrorMessage = ErrorMessages.IbanStructuralFailure; new BankAccountBuilder(this.DatabaseSession).WithIban("LV80B12K0000435195001").Build(); List<IDerivationError> errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); }
public void GivenBankAccount_WhenValidatingIban_ThenWronglengthResultsInValidationError() { var expectedErrorMessage = ErrorMessages.IbanLengthFailure; new BankAccountBuilder(this.DatabaseSession).WithIban("TR3300061005196457841326").Build(); List<IDerivationError> errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); this.DatabaseSession.Rollback(); new BankAccountBuilder(this.DatabaseSession).WithIban("TR3300061005197864578413268").Build(); errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); }
public void GivenBankAccount_WhenValidatingIban_ThenInvalidIbanResultsInValidationError() { var expectedErrorMessage = ErrorMessages.IbanIncorrect; new BankAccountBuilder(this.DatabaseSession).WithIban("TR330006100519716457841326").Build(); List<IDerivationError> errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); }
public void GetFolderMappingFoldersRecursive_Returns_All_The_Folders_In_Folder_Tree() { var mockCache = MockComponentProvider.CreateNew<CachingProvider>(); mockCache.Setup(c => c.GetItem(It.IsAny<string>())).Returns(null); var settings = new Hashtable(); settings["SyncAllSubFolders"] = "true"; _folderMappingController.Setup(c => c.GetFolderMappingSettings(It.IsAny<int>())).Returns(settings); var hostSettingsTable = new DataTable("HostSettings"); var nameCol = hostSettingsTable.Columns.Add("SettingName"); hostSettingsTable.Columns.Add("SettingValue"); hostSettingsTable.Columns.Add("SettingIsSecure"); hostSettingsTable.PrimaryKey = new[] { nameCol }; _mockData.Setup(c => c.GetHostSettings()).Returns(hostSettingsTable.CreateDataReader()); _mockData.Setup(c => c.GetProviderPath()).Returns(String.Empty); var folderMapping = new FolderMappingInfo { FolderMappingID = Constants.FOLDER_ValidFolderMappingID, FolderProviderType = Constants.FOLDER_ValidFolderProviderType }; var subfolders = new List<string> { "folder/subfolder", "folder/subfolder2", "folder/subfolder2/subsubfolder", "folder/subfolder2/subsubfolder2" }; _mockFolder.Setup(mf => mf.GetSubFolders(It.IsAny<string>(), folderMapping)) .Returns<string, FolderMappingInfo>((parent, fm) => subfolders.FindAll(sub => sub.StartsWith(parent) && sub.Length > parent.Length && sub.Substring(parent.Length).IndexOf("/") == sub.Substring(parent.Length).LastIndexOf("/"))); var result = _mockFolderManager.Object.GetFolderMappingFoldersRecursive(folderMapping, "folder/"); Assert.AreEqual(5, result.Count); }
public void GetFileSystemFoldersRecursive_Sets_ExistsInFileSystem_For_All_Items() { var relativePaths = new Dictionary<string, string> { {@"C:\folder", "folder/"}, {@"C:\folder\subfolder", "folder/subfolder/"}, {@"C:\folder\subfolder2", "folder/subfolder2/"}, {@"C:\folder\subfolder2\subsubfolder", "folder/subfolder2/subsubfolder/"}, {@"C:\folder\subfolder2\subsubfolder2", "folder/subfolder2/subsubfolder2/"} }; _pathUtils.Setup(pu => pu.GetRelativePath(Constants.CONTENT_ValidPortalId, It.IsAny<string>())) .Returns<int, string>((portalID, physicalPath) => relativePaths[physicalPath]); var directories = new List<string> { @"C:\folder", @"C:\folder\subfolder", @"C:\folder\subfolder2", @"C:\folder\subfolder2\subsubfolder", @"C:\folder\subfolder2\subsubfolder2" }; _directory.Setup(d => d.GetDirectories(It.IsAny<string>())) .Returns<string>(path => directories.FindAll(sub => sub.StartsWith(path + "\\") && sub.LastIndexOf("\\") == path.Length).ToArray()); var result = _mockFolderManager.Object.GetFileSystemFoldersRecursive(Constants.CONTENT_ValidPortalId, @"C:\folder"); foreach (var mergedTreeItem in result.Values) { Assert.True(mergedTreeItem.ExistsInFileSystem); } }
public void GetDatabaseFoldersRecursive_Sets_ExistsInDatabase_For_All_Items() { _folderInfo.Setup(fi => fi.FolderPath).Returns("folder/"); _folderInfo.Setup(fi => fi.FolderMappingID).Returns(Constants.FOLDER_ValidFolderMappingID); var subfolders = new List<IFolderInfo> { new FolderInfo() {FolderPath = "folder/subfolder/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo() {FolderPath = "folder/subfolder2/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo() {FolderPath = "folder/subfolder2/subsubfolder/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo() {FolderPath = "folder/subfolder2/subsubfolder2/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID} }; _mockFolderManager.Setup(mfm => mfm.GetFolders(It.IsAny<IFolderInfo>())) .Returns<IFolderInfo>(parent => subfolders.FindAll(sub => sub.FolderPath.StartsWith(parent.FolderPath) && sub.FolderPath.Length > parent.FolderPath.Length && sub.FolderPath.Substring(parent.FolderPath.Length).IndexOf("/") == sub.FolderPath.Substring(parent.FolderPath.Length).LastIndexOf("/"))); var result = _mockFolderManager.Object.GetDatabaseFoldersRecursive(_folderInfo.Object); foreach (var mergedTreeItem in result.Values) { Assert.True(mergedTreeItem.ExistsInDatabase); } }
public void ReconnectToBrokerIfIsNotReplying() { const string hostAddress = "tcp://localhost:5555"; const int timeOutToReconnectInMillis = 7500; var loggingMessages = new List<string>(); var serviceName = "echo"; var messagesReceivedOnBroker = 0; // setup the counter socket for communication using (var broker = new RouterSocket()) using (var poller = new NetMQPoller()) using (var session = new MDPClientAsync(hostAddress)) { session.Timeout = TimeSpan.FromMilliseconds(timeOutToReconnectInMillis); broker.Bind(hostAddress); broker.ReceiveReady += (s, e) => { var msg = e.Socket.ReceiveMultipartMessage(); if (messagesReceivedOnBroker != 0) // doesn't respond if is the first message received! { // we expect to receive a 4 Frame message // [client adrR][e][mdp header][service][request] if (msg.FrameCount != 6) Assert.Fail("Message with wrong count of frames {0}", msg.FrameCount); // REQUEST socket will strip the his address + empty frame // ROUTER has to add the address prelude in order to identify the correct socket(!) var requestId = msg.Last.ConvertToString(); // get the requestId string msg.RemoveFrame(msg.Last); // remove the request frame var request = msg.Last.ConvertToString(); // get the request string msg.RemoveFrame(msg.Last); // remove the request frame msg.Append(new NetMQFrame(request + " OK")); // append the reply frame msg.Append(requestId); e.Socket.SendMultipartMessage(msg); } messagesReceivedOnBroker++; }; session.LogInfoReady += (s, e) => loggingMessages.Add(e.Info); session.ReplyReady += (s, e) => { var reply = e.Reply; Assert.That(reply.FrameCount, Is.EqualTo(1)); Assert.That(reply.First.ConvertToString(), Is.EqualTo("REQUEST OK")); poller.Stop(); }; var requestMessage = new NetMQMessage(new[] { new NetMQFrame("REQUEST") }); int timeOutInMillis = timeOutToReconnectInMillis + 3000; // Waits for the timeOut on the client var timer = new NetMQTimer(timeOutInMillis); timer.Elapsed += (s, e) => { session.Send(serviceName, requestMessage); // resends the request after timeout }; poller.Add(timer); poller.Add(broker); var task = Task.Factory.StartNew(() => poller.Run()); session.Send(serviceName, requestMessage); var result = task.Wait(timeOutToReconnectInMillis * 2); var numberOfConnects = loggingMessages.FindAll(x => x.Contains("[CLIENT] connecting to broker")).Count; Assert.IsTrue(numberOfConnects > 1); } }
private static void AssertValidResponse(Response resp) { Assert.IsNotNull(resp); Assert.IsNotNull(resp.Contents); Assert.IsNotNull(resp.Properties); List<CustomProperty> props = new List<CustomProperty>(resp.Properties); List<CustomProperty> blackList = props.FindAll(delegate(CustomProperty cp) { return cp.Name.Contains("Error."); }); Assert.AreEqual(0, blackList.Count); }
private static int CountItems(List<DictionaryEntry> collection, string option) { return collection.FindAll(item => (string)item.Value == option).Count(); }
private void TestSequence(int eventId, List<EventRegType> regTypes, Dictionary<int, SortedDictionary<int, int>> bibsPerGroup, Dictionary<int, List<int>> groupsPerType) { //S.BibNumbersService svcBibs = new S.BibNumbersService();//this table is separate from regtypes, with 1-0 FK //E.TList<E.BibNumbers> bibNumbersAll = svcBibs.GetByEventId(eventId); //E.BibNumbers bibNumberEvent = bibNumbersAll.Find(b => b.RegTypeId == 0); List<BibNumber> bibNumbersAll = new List<BibNumber>(); ClientDataContext db = new ClientDataContext(); bibNumbersAll = (from b in db.BibNumbers where b.EventId == eventId select b).ToList(); BibNumber bibNumberEvent = bibNumbersAll.Find(b => b.RegTypeId == 0); List<EventRegType> regTypesWithStartingNumbers = regTypes.FindAll(r => (bibNumbersAll.Find(b => b.RegTypeId == r.Id) != null)); List<EventRegType> regTypesWithDefaultStartingNumber = regTypes.FindAll(r => (bibNumbersAll.Find(b => b.RegTypeId == r.Id) == null)); foreach (EventRegType regType in regTypesWithStartingNumbers) { BibNumber bibNumbers = bibNumbersAll.Find(b => b.RegTypeId == regType.Id); int startingNumberPerRegType = bibNumbers.StartingNumber; IEnumerable<int> groups = groupsPerType[regType.Id]; int[] bibs = CollectBibsOverGroups(bibsPerGroup, groups); //all the types grouped together? Array.Sort<int>(bibs); if (bibs[0] != startingNumberPerRegType) { Assert.Fail(" starts with wrong value"); } VerifyBibsAreGroupedTogether(bibs); } //now, the bibs which aren't in a special-numbered regtype int startingNumber = bibNumberEvent.StartingNumber; int[] bibsForEvent; List<int[]> bibCollection = new List<int[]>(); int tally = 0; foreach (EventRegType regType in regTypesWithDefaultStartingNumber) { IEnumerable<int> groups = groupsPerType[regType.Id]; int[] bibsPerType = CollectBibsOverGroups(bibsPerGroup, groups); tally += bibsPerType.Length; bibCollection.Add(bibsPerType); } //all the types grouped together? bibsForEvent = new int[tally]; tally = 0; foreach (int[] bibsPerType in bibCollection) { bibsPerType.CopyTo(bibsForEvent, tally); tally += bibsPerType.Length; } Array.Sort<int>(bibsForEvent); if (bibsForEvent[0] != startingNumber) { Assert.Fail(" starts with wrong value"); } VerifyBibsAreGroupedTogether(bibsForEvent); }
private List<int> OccurrencesInPara(int hvoPara, List<int> allOccurrences) { List<int> result = allOccurrences.FindAll( delegate(int hvoCba) { return Cache.GetObjProperty(hvoCba, kflidBeginObject) == hvoPara; }); result.Sort( delegate(int left, int right) { return Cache.GetIntProperty(left, kflidBeginOffset).CompareTo( Cache.GetIntProperty(right, kflidBeginOffset)); }); return result; }
public void GetDatabaseFoldersRecursive_Sets_ExistsInFolderMappings_For_All_Items() { var folderMapping = new FolderMappingInfo { FolderMappingID = Constants.FOLDER_ValidFolderMappingID, FolderProviderType = Constants.FOLDER_ValidFolderProviderType }; var subfolders = new List<string> { "folder/subfolder", "folder/subfolder2", "folder/subfolder2/subsubfolder", "folder/subfolder2/subsubfolder2" }; _mockFolder.Setup(mf => mf.GetSubFolders(It.IsAny<string>(), folderMapping)) .Returns<string, FolderMappingInfo>((parent, fm) => subfolders.FindAll(sub => sub.StartsWith(parent) && sub.Length > parent.Length && sub.Substring(parent.Length).IndexOf("/") == sub.Substring(parent.Length).LastIndexOf("/"))); var result = _mockFolderManager.Object.GetFolderMappingFoldersRecursive(folderMapping, "folder/"); foreach (var mergedTreeItem in result.Values) { Assert.True(mergedTreeItem.ExistsInFolderMappings.Contains(Constants.FOLDER_ValidFolderMappingID)); } }
static int CompareOneWay(IVersionComparer comparer, string version1, string version2) { // Arrange var a = SemanticVersion.Parse(version1); var b = SemanticVersion.Parse(version2); var c = StrictSemanticVersion.Parse(version1); var d = StrictSemanticVersion.Parse(version2); // Act var results = new List<int>(); results.Add(comparer.Compare(a, b)); results.Add(comparer.Compare(a, d)); results.Add(comparer.Compare(c, b)); results.Add(comparer.Compare(c, d)); // Assert Assert.True(results.FindAll(x => x == results[0]).Count == results.Count); return results[0]; }
public void GetDatabaseFoldersRecursive_Returns_All_The_Folders_In_Folder_Tree() { _folderInfo.Setup(fi => fi.FolderPath).Returns("folder/"); _folderInfo.Setup(fi => fi.FolderMappingID).Returns(Constants.FOLDER_ValidFolderMappingID); var subfolders = new List<IFolderInfo> { new FolderInfo {FolderPath = "folder/subfolder/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo {FolderPath = "folder/subfolder2/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo {FolderPath = "folder/subfolder2/subsubfolder/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID}, new FolderInfo {FolderPath = "folder/subfolder2/subsubfolder2/", FolderMappingID = Constants.FOLDER_ValidFolderMappingID} }; _mockFolderManager.Setup(mfm => mfm.GetFolders(It.IsAny<IFolderInfo>())) .Returns<IFolderInfo>(parent => subfolders.FindAll(sub => sub.FolderPath.StartsWith(parent.FolderPath) && sub.FolderPath.Length > parent.FolderPath.Length && sub.FolderPath.Substring(parent.FolderPath.Length).IndexOf("/") == sub.FolderPath.Substring(parent.FolderPath.Length).LastIndexOf("/"))); var result = _mockFolderManager.Object.GetDatabaseFoldersRecursive(_folderInfo.Object); Assert.AreEqual(5, result.Count); }
public void GivenBankAccount_WhenValidatingIban_ThenCountryWithoutIbanRulesResultsInValidationError() { var expectedErrorMessage = ErrorMessages.IbanValidationUnavailable; new BankAccountBuilder(this.DatabaseSession).WithIban("XX330006100519786457841326").Build(); List<IDerivationError> errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); }
public void GetFileSystemFoldersRecursive_Returns_All_The_Folders_In_Folder_Tree() { var relativePaths = new Dictionary<string, string> { {@"C:\folder", "folder/"}, {@"C:\folder\subfolder", "folder/subfolder/"}, {@"C:\folder\subfolder2", "folder/subfolder2/"}, {@"C:\folder\subfolder2\subsubfolder", "folder/subfolder2/subsubfolder/"}, {@"C:\folder\subfolder2\subsubfolder2", "folder/subfolder2/subsubfolder2/"} }; _pathUtils.Setup(pu => pu.GetRelativePath(Constants.CONTENT_ValidPortalId, It.IsAny<string>())) .Returns<int, string>((portalID, physicalPath) => relativePaths[physicalPath]); var directories = new List<string> { @"C:\folder\subfolder", @"C:\folder\subfolder2", @"C:\folder\subfolder2\subsubfolder", @"C:\folder\subfolder2\subsubfolder2" }; _directory.Setup(d => d.GetDirectories(It.IsAny<string>())) .Returns<string>(path => directories.FindAll(sub => sub.StartsWith(path + "\\") && sub.LastIndexOf("\\") == path.Length).ToArray()); var result = _mockFolderManager.Object.GetFileSystemFoldersRecursive(Constants.CONTENT_ValidPortalId, @"C:\folder"); Assert.AreEqual(5, result.Count); }
public void GivenBankAccount_WhenValidatingIban_ThenIllegalCharactersResultInValidationError() { var expectedErrorMessage = ErrorMessages.IbanIllegalCharacters; new BankAccountBuilder(this.DatabaseSession).WithIban("-=jw").Build(); List<IDerivationError> errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); this.DatabaseSession.Rollback(); new BankAccountBuilder(this.DatabaseSession).WithIban("TR33000610+51978645,841326").Build(); errors = new List<IDerivationError>(this.DatabaseSession.Derive().Errors); Assert.AreEqual(1, errors.FindAll(e => e.Message.Equals(expectedErrorMessage)).Count); }
public void Init() { var requestDetailCommodity = new List<RequestDetailCommodity>() { new RequestDetailCommodity { CommodityID = 1, Amount = 20, RequestCommodityID = 1, RegionalRequestDetailID = 1, Commodity=new Commodity(){CommodityID=1,Name="CSB"} }, }; var regionalRequests = new List<RegionalRequest>() { new RegionalRequest { ProgramId = 1 , Month = 1 , RegionID = 1 , RegionalRequestID = 1 , RequistionDate = DateTime.Parse("7/3/2013") , Year = DateTime.Today.Year , Status=1, Program = new Program(){ Name="Program1", ProgramID = 1 }, AdminUnit=new AdminUnit { Name="Region", AdminUnitID=1 }, Ration=new Ration() { RationID=1, RefrenceNumber="RE1", }, RegionalRequestDetails = new List<RegionalRequestDetail> { new RegionalRequestDetail { Beneficiaries = 100 , Fdpid = 1, Fdp = new FDP{FDPID=1,Name="FDP1",AdminUnit=new AdminUnit{AdminUnitID=1,Name="Admin1",AdminUnit2=new AdminUnit{AdminUnitID=2,Name="Admin2"}}} , RegionalRequestID = 1 , RegionalRequestDetailID = 1, RequestDetailCommodities=requestDetailCommodity }, new RegionalRequestDetail { Beneficiaries = 100 , Fdpid = 2, Fdp = new FDP{FDPID=2,Name="FDP1",AdminUnit=new AdminUnit{AdminUnitID=1,Name="Admin1",AdminUnit2=new AdminUnit{AdminUnitID=2,Name="Admin2"}}} , RegionalRequestID = 1 , RegionalRequestDetailID = 2, RequestDetailCommodities=requestDetailCommodity } } } }; // regionalRequests[0].RegionalRequestDetails.First().RequestDetailCommodities = requestDetailCommodity; var adminUnit = new List<AdminUnit>() { new AdminUnit { Name = "Temp Admin uni", AdminUnitID = 1 } }; var plan = new List<Plan> { new Plan {PlanID = 1,PlanName = "Plan1",ProgramID = 1,StartDate = new DateTime(12/12/12),EndDate =new DateTime(12/12/12) } }; var _status = new List<Cats.Models.WorkflowStatus>() { new WorkflowStatus() { Description = "Draft", StatusID = 1, WorkflowID = 1 }, new WorkflowStatus() { Description = "Approved", StatusID = 2, WorkflowID = 1 }, new WorkflowStatus() { Description = "Closed", StatusID = 3, WorkflowID = 1 } }; var commonService = new Mock<ICommonService>(); commonService.Setup(t => t.GetAminUnits(It.IsAny<Expression<Func<AdminUnit, bool>>>(), It.IsAny<Func<IQueryable<AdminUnit>, IOrderedQueryable<AdminUnit>>>(), It.IsAny<string>())).Returns(adminUnit); commonService.Setup(t => t.GetStatus(It.IsAny<WORKFLOW>())).Returns(_status); commonService.Setup(t => t.GetPlan(plan.First().ProgramID)).Returns(plan); var mockRegionalRequestService = new Mock<IRegionalRequestService>(); mockRegionalRequestService.Setup( t => t.GetSubmittedRequest(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>())).Returns( (int region, int month, int status) => { return regionalRequests.FindAll( t => t.RegionID == region && t.RequistionDate.Month == month && t.Status == status).ToList(); }); mockRegionalRequestService.Setup( t => t.Get(It.IsAny<Expression<Func<RegionalRequest, bool>>>(), It.IsAny<Func<IQueryable<RegionalRequest>, IOrderedQueryable<RegionalRequest>>>(), It.IsAny<string>())).Returns( (Expression<Func<RegionalRequest, bool>> filter, Func<IQueryable<RegionalRequest>, IOrderedQueryable<RegionalRequest>> sort, string includes) => { return regionalRequests.AsQueryable().Where(filter); ; }); mockRegionalRequestService.Setup(t => t.FindById(It.IsAny<int>())).Returns( (int requestId) => regionalRequests.Find(t => t.RegionalRequestID == requestId)); mockRegionalRequestService.Setup(t => t.ApproveRequest(It.IsAny<int>())).Returns((int reqId) => { regionalRequests. Find (t => t. RegionalRequestID == reqId). Status = (int) RegionalRequestStatus .Approved; return true; }); mockRegionalRequestService.Setup(t => t.AddRegionalRequest(It.IsAny<RegionalRequest>())).Returns( (RegionalRequest rRequest) => { regionalRequests.Add(rRequest); return true; }); mockRegionalRequestService.Setup(t => t.GetAllRegionalRequest()).Returns(regionalRequests); mockRegionalRequestService.Setup(t => t.PlanToRequest(It.IsAny<HRDPSNPPlan>())).Returns(new HRDPSNPPlanInfo() { BeneficiaryInfos = new List < BeneficiaryInfo >() { new BeneficiaryInfo () { Beneficiaries = 1, FDPID = 1, FDPName = "F1", Selected = true } } , HRDPSNPPlan = new HRDPSNPPlan { DonorID = 1, Month = 1, PlanID = 1, ProgramID = 1, PSNPPlanID = 1, RationID = 1, RegionID = 1, Round = 1, SeasonID = 1, Year = 1 } }); var mockAdminUnitService = new Mock<IAdminUnitService>(); mockAdminUnitService.Setup(t => t.FindBy(It.IsAny<Expression<Func<AdminUnit, bool>>>())).Returns(adminUnit); mockAdminUnitService.Setup(t => t.GetRegions()).Returns(adminUnit); var workflowService = new Mock<IWorkflowStatusService>(); workflowService.Setup(t => t.GetStatus(It.IsAny<Cats.Models.Constant.WORKFLOW>())).Returns(_status); workflowService.Setup(t => t.GetStatusName(It.IsAny<Cats.Models.Constant.WORKFLOW>(), It.IsAny<int>())). Returns((Cats.Models.Constant.WORKFLOW workflow, int statusId) => { return _status.Find(t => t.StatusID == statusId && t.WorkflowID == (int)workflow).Description; }); commonService.Setup(t => t.GetPrograms(It.IsAny<Expression<Func<Program, bool>>>(), It.IsAny<Func<IQueryable<Program>, IOrderedQueryable<Program>>>(), It.IsAny<string>())).Returns(new List<Program>() { new Program() {ProgramID = 1, Description = "Relief"} }); commonService.Setup(t => t.GetRations(It.IsAny<Expression<Func<Ration, bool>>>(), It.IsAny<Func<IQueryable<Ration>, IOrderedQueryable<Ration>>>(), It.IsAny<string>())).Returns(new List<Ration>() { new Ration {RationID = 1, RefrenceNumber = "R-00983"} }); var fdpService = new Mock<IFDPService>(); fdpService.Setup(t => t.FindBy(It.IsAny<Expression<Func<FDP, bool>>>())).Returns(new List<FDP>() { new FDP() { FDPID = 1, Name = "FDP1", AdminUnitID = 1 } }); var requestDetailService = new Mock<IRegionalRequestDetailService>(); requestDetailService.Setup(t => t.Get(It.IsAny<Expression<Func<RegionalRequestDetail, bool>>>(), null, It.IsAny<string>())).Returns(regionalRequests.First().RegionalRequestDetails); commonService.Setup(t => t.GetCommodities(It.IsAny<Expression<Func<Commodity, bool>>>(), It.IsAny<Func<IQueryable<Commodity>, IOrderedQueryable<Commodity>>>(), It.IsAny<string>())).Returns(new List<Commodity>() { new Commodity { CommodityID = 1, Name = "CSB" } }); var hrds = new List<HRD> { new HRD() { Year = 2013, Season = new Season() {Name = "Mehere", SeasonID = 1}, RationID = 1, HRDDetails = new List<HRDDetail>() { new HRDDetail() { DurationOfAssistance = 2, HRDDetailID = 1, NumberOfBeneficiaries = 300, WoredaID = 1, AdminUnit = new AdminUnit() { Name = "Woreda", AdminUnitID = 2, AdminUnit2 = new AdminUnit() { Name = "Zone", AdminUnitID = 3, AdminUnit2 = new AdminUnit() { Name = "Region", AdminUnitID = 6 } } } } } } }; var hrdService = new Mock<IHRDService>(); var appService = new Mock<IApplicationSettingService>(); hrdService.Setup( t => t.Get(It.IsAny<Expression<Func<HRD, bool>>>(), It.IsAny<Func<IQueryable<HRD>, IOrderedQueryable<HRD>>>(), It.IsAny<string>())).Returns(hrds); var userAccountService = new Mock<IUserAccountService>(); userAccountService.Setup(t => t.GetUserInfo(It.IsAny<string>())).Returns(new UserInfo() { UserName = "******", DatePreference = "en" }); var fakeContext = new Mock<HttpContextBase>(); var identity = new GenericIdentity("User"); var principal = new GenericPrincipal(identity,null); fakeContext.Setup(t => t.User).Returns(principal); var controllerContext = new Mock<ControllerContext>(); controllerContext.Setup(t => t.HttpContext).Returns(fakeContext.Object); var log = new Mock<ILog>(); log.Setup(t => t.Error(It.IsAny<object>())); var hrdServiceDetail = new Mock<IHRDDetailService>(); var RegionalPSNPPlanDetailService = new Mock<IRegionalPSNPPlanDetailService>(); var RegionalPSNPPlanService = new Mock<IRegionalPSNPPlanService>(); _requestController = new RequestController( mockRegionalRequestService.Object, fdpService.Object, requestDetailService.Object, commonService.Object, hrdService.Object, appService.Object, userAccountService.Object, log.Object, hrdServiceDetail.Object, RegionalPSNPPlanDetailService.Object, RegionalPSNPPlanService.Object,null,null,null); _requestController.ControllerContext = controllerContext.Object; }
public void RandomTest () { var tree = new Tree<int, string>(new TreeMemoryNodeManager<int, string>(2, Comparer<int>.Default)); // Generate a random sequence var seq = new List<int>(); var rnd = new Random (198); // Insert random sequence for (var i = 0; i < 1000; i++) { var n = rnd.Next (0, 2000); while (seq.Contains(n) == true) { n = rnd.Next (0, 2000); } tree.Insert (n, n.ToString()); seq.Add (n); } // Validate result var sortedSeq = seq.FindAll (t => true); sortedSeq.Sort (Comparer<int>.Default); Assert.IsTrue (sortedSeq.SequenceEqual(from tuple in tree.LargerThanOrEqualTo(0) select tuple.Item1)); // Randomly query for (var n = 0; n <= 100; n++) { var number = n = rnd.Next (0, 2000); var lastD = 0; foreach (var d in from tuple in tree.LargerThanOrEqualTo(number) select tuple.Item1) { Assert.IsTrue (d >= number); Assert.IsTrue (d > lastD); lastD = d; } lastD = 0; foreach (var d in from tuple in tree.LargerThan(number) select tuple.Item1) { Assert.IsTrue (d > number); Assert.IsTrue (d > lastD); lastD = d; } lastD = 999999; foreach (var d in from tuple in tree.LessThan(number) select tuple.Item1) { Assert.IsTrue (d < number); Assert.IsTrue (d < lastD); lastD = d; } lastD = 999999; foreach (var d in from tuple in tree.LessThanOrEqualTo(number) select tuple.Item1) { Assert.IsTrue (d <= number); Assert.IsTrue (d < lastD); lastD = d; } } }