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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
 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);
        }
Ejemplo n.º 14
0
		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;
		}
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 18
0
        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);

        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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;
        }
Ejemplo n.º 22
0
		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;
				}
			}
		}