public void CheckListContainsItems(IListWrapper list, string behavior, Table table)
        {
            bool check =
                ListServices.CheckListContainValuesFromAnotherList(list.ListValues.ToList(), ListServices.TableToRowsList(table));

            check.Should().Be(!behavior.Contains("Not"));
        }
Esempio n. 2
0
        internal static IListWrapper CreateListWrapper(object list, Type listType, Type elementType)
        {
            var             wrapperType = typeof(ListWrapper <>).MakeGenericType(elementType);
            ConstructorInfo genericWrapperConstructor = wrapperType.GetConstructor(new[] { listType });
            IListWrapper    wrapper = (IListWrapper)genericWrapperConstructor?.Invoke(new [] { list });

            return(wrapper);
        }
Esempio n. 3
0
        private bool moreRecordsExist <T>(IListWrapper <T> onePull)
        {
            if ((onePull.Start + onePull.Count >= onePull.Total) || onePull.Count == 0)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 4
0
        public List <T> queryForList <T>(string entityType, string where, string[] fieldSet, QueryParams queryParams)
        {
            IListWrapper <T> wrapper = this.handleQueryForEntities <T>(entityType, where, fieldSet, queryParams);

            if (wrapper == null)
            {
                return(new List <T>());
            }
            return(wrapper.Data);
        }
        public void ClearTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            target.Clear();
            Assert.AreEqual(0, list.Count);
        }
Esempio n. 6
0
        private void recursiveSearchPull <T>(List <T> allEntities, string entityType, string query, string[] fieldset, SearchParams searchParams)
        {
            IListWrapper <T> onePull = handleSearchForEntities <T>(entityType, query, fieldset, searchParams);

            allEntities.AddRange(onePull.Data);

            if (moreRecordsExist(onePull) && ceilingNotReached(allEntities))
            {
                searchParams.Start = allEntities.Count();
                recursiveSearchPull(allEntities, entityType, query, fieldset, searchParams);
            }
        }
Esempio n. 7
0
        private void recursiveQueryPull <T>(List <T> allEntities, string entityType, string where, string[] fieldSet, QueryParams queryParams)
        {
            IListWrapper <T> onePull = handleQueryForEntities <T>(entityType, where, fieldSet, queryParams);

            allEntities.AddRange(onePull.Data);

            if (moreRecordsExist(onePull) && ceilingNotReached(allEntities))
            {
                queryParams.Start = allEntities.Count();
                recursiveQueryPull(allEntities, entityType, where, fieldSet, queryParams);
            }
        }
 internal IListWrapperEnumWrapper(IListWrapper listWrapper, int startIndex, int count)
 {
     _en = listWrapper.GetEnumerator();
     _initialStartIndex = startIndex;
     _initialCount      = count;
     while (startIndex-- > 0 && _en.MoveNext())
     {
         ;
     }
     _remaining = count;
     _firstCall = true;
 }
        public void AddTest()
        {
            IList list = new ArrayList();
            IListWrapper<int> target = new IListWrapper<int>(list);

            for (int i = 1; i <= 3; i++)
                target.Add(i);

            Assert.AreEqual(3, list.Count);

            for (int i = 1; i <= 3; i++)
                Assert.AreEqual(i, list[i - 1]);
        }
Esempio n. 10
0
        private void SerializeList(IListWrapper list, int indentLevel)
        {
            var appendSeparator = false;

            if (list != null)
            {
                if (_settingsManager.SerializationTypeHandle == SerializationTypeHandle.All || _settingsManager.SerializationTypeHandle == SerializationTypeHandle.Collections)
                {
                    _serialized.Append(Constants.OPEN_CURLY);
                    AppendType(list.List, SerializationTypeHandle.Collections, ++indentLevel, ",\"$values\":[");
                    var e = list.GetEnumerator();
                    while (e.MoveNext())
                    {
                        AppendSeparator(appendSeparator, indentLevel);
                        SerializeObject(e.Current?.GetType(), e.Current, indentLevel);
                        appendSeparator = true;
                    }

                    PrettyPrintNewLine();
                    PrettyPrintIndent(--indentLevel);
                    _serialized.Append(Constants.CLOSE_BRACKET);
                    PrettyPrintNewLine();
                    PrettyPrintIndent(--indentLevel);
                    _serialized.Append(Constants.CLOSE_CURLY);
                }
                else
                {
                    _serialized.Append(Constants.OPEN_BRACKET);
                    indentLevel++;
                    var e = list.GetEnumerator();
                    while (e.MoveNext())
                    {
                        AppendSeparator(appendSeparator, indentLevel);
                        SerializeObject(e.Current?.GetType(), e.Current, indentLevel);
                        appendSeparator = true;
                    }

                    PrettyPrintNewLine();
                    PrettyPrintIndent(--indentLevel);
                    _serialized.Append(Constants.CLOSE_BRACKET);
                }

                return;
            }

            _serialized.Append(Constants.NULL);
        }
        public void CheckListContainsItems(IListWrapper list, string behavior, Table table)
        {
            bool exactOrder  = behavior.Contains("contain in exact order");
            var  testingList = list.ListValues.ToList();
            var  refLit      = ListServices.TableToRowsList(table);

            if (exactOrder)
            {
                bool check = ListServices.CheckListContainValuesFromAnotherListInExactOrder(testingList, refLit);
                check.Should().Be(true);
            }
            else
            {
                bool check = ListServices.CheckListContainValuesFromAnotherList(testingList, refLit);
                check.Should().Be(!behavior.Contains("not contain"));
            }
        }
Esempio n. 12
0
        public void MoveBackUpHeirarchy()
        {
            if (BreadCrumbs.Count <= 1)
            {
                return;
            }

            try
            {
                // get the second last child wrapper
                IListWrapper wrapper = BreadCrumbs[BreadCrumbs.Count - 2];
                ShowChildWrappers(wrapper);
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
Esempio n. 13
0
        protected bool IsGenericList(object obj, Type type, out IListWrapper listWrapper)
        {
            listWrapper = null;
            foreach (var interfaceType in type.GetInterfaces())
            {
                if (interfaceType.IsGenericType && typeof(IList <>).IsAssignableFrom(interfaceType.GetGenericTypeDefinition()))
                {
                    var genArgs = interfaceType.GenericTypeArguments;
                    listWrapper = Serializer.CreateListWrapper(obj, interfaceType, genArgs[0]);
                    return(true);
                }
                else if (typeof(IList).IsAssignableFrom(interfaceType))
                {
                    listWrapper = Serializer.CreateListWrapper(obj);
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 14
0
        public List <T> SearchForList <T>(string entityType, string query, string[] fields = null, SearchParams searchParams = null)
        {
            if (searchParams == null)
            {
                searchParams = new StandardSearchParams();
            }
            IListWrapper <T> wrapper = this.handleSearchForEntities <T>(entityType, query, fields, searchParams);

            if (wrapper == null)
            {
                return(new List <T>());
            }
            return(wrapper.Data);

            //string url = String.Format("{0}search/{1}?BhRestToken={2}&query=*:*&fields={3}&count={4}", restApiSession.RestUrl, entityType, restApiSession.GetBhRestToken(), string.Join(",", fields), count);
            //Console.WriteLine(url);
            //var results = PerformGetRequest<T>(url);

            //return results;
        }
Esempio n. 15
0
        protected object GetListValues(Type type, IListWrapper obj)
        {
            var list        = Children.FirstOrDefault(c => c.Name == "$values");
            var elementType = type.HasElementType ? type.GetElementType() : obj.ElementType;

            list = list ?? this;

            try
            {
                for (var i = 0; i < list.Children.Count; i++)
                {
                    if (obj.List.GetType().IsArray)
                    {
                        obj[i] = list.Children[i].GetValue(elementType);
                    }
                    else
                    {
                        obj.Add(list.Children[i].GetValue(elementType));
                    }
                }

                return(obj.List);
            }
            catch (NotSupportedException)
            {
                if (obj.IsReadOnly)
                {
                    IList thing = Array.CreateInstance(elementType, list.Children.Count);

                    for (var i = 0; i < list.Children.Count; i++)
                    {
                        thing[i] = list.Children[i].GetValue(elementType);
                    }

                    return(CreateInstance(type, null, thing));
                }
                throw;
            }
        }
Esempio n. 16
0
        //[LogExecutionTime]
        public void ShowChildWrappers(IListWrapper wrapper)
        {
            try
            {
                CurrentWrapper            = wrapper;
                CurrentWrapperIsGroup     = wrapper is VM_GroupFilter;
                CurrentListWrapperIsGroup = wrapper is VM_AnimeGroup_User;

                if (wrapper is VM_AnimeGroup_User)
                {
                    //LastAnimeGroupID = ((VM_AnimeGroup_User)wrapper).AnimeGroupID.Value;
                    Instance.CurrentOpenGroupFilter = "VM_AnimeGroup_User|" + ((VM_AnimeGroup_User)wrapper).AnimeGroupID;
                }
                if (wrapper is VM_GroupFilter)
                {
                    CurrentGroupFilter = (VM_GroupFilter)wrapper;
                    //LastGroupFilterID = ((GroupFilterVM)wrapper).GroupFilterID.Value;

                    Instance.CurrentOpenGroupFilter = "GroupFilterVM|" + ((VM_GroupFilter)wrapper).GroupFilterID;
                }
                if (wrapper is VM_AnimeSeries_User)
                {
                    CurrentSeries = (VM_AnimeSeries_User)wrapper;
                    //LastAnimeSeriesID = ((VM_AnimeSeries_User)wrapper).AnimeSeriesID.Value;

                    Instance.CurrentOpenGroupFilter = "NoGroup";
                }

                if (wrapper == null)
                {
                    Instance.CurrentOpenGroupFilter = "Init";
                }


                Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (Action) delegate
                {
                    // update wrappers
                    // check where this wrapper sits in the heirarchy and remove anything below it
                    int pos = -1;



                    if (wrapper != null)
                    {
                        for (int i = 0; i < BreadCrumbs.Count; i++)
                        {
                            if (BreadCrumbs[i] == null)
                            {
                                continue;
                            }
                            if (wrapper is VM_GroupFilter && BreadCrumbs[i] is VM_GroupFilter)
                            {
                                VM_GroupFilter wrapObj = (VM_GroupFilter)wrapper;
                                VM_GroupFilter bcObj   = (VM_GroupFilter)BreadCrumbs[i];
                                if (wrapObj.GroupFilterName == bcObj.GroupFilterName)
                                {
                                    pos = i;
                                }
                            }
                            else if (wrapper is VM_AnimeGroup_User && BreadCrumbs[i] is VM_AnimeGroup_User)
                            {
                                VM_AnimeGroup_User wrapObj = (VM_AnimeGroup_User)wrapper;
                                VM_AnimeGroup_User bcObj   = (VM_AnimeGroup_User)BreadCrumbs[i];
                                if (wrapObj.AnimeGroupID == bcObj.AnimeGroupID)
                                {
                                    pos = i;
                                }
                            }
                            else if (wrapper is VM_AnimeSeries_User && BreadCrumbs[i] is VM_AnimeSeries_User)
                            {
                                VM_AnimeSeries_User wrapObj = (VM_AnimeSeries_User)wrapper;
                                VM_AnimeSeries_User bcObj   = (VM_AnimeSeries_User)BreadCrumbs[i];
                                if (wrapObj.AnimeSeriesID == bcObj.AnimeSeriesID)
                                {
                                    pos = i;
                                }
                            }
                            else if (wrapper is VM_AnimeEpisodeType && BreadCrumbs[i] is VM_AnimeEpisodeType)
                            {
                                VM_AnimeEpisodeType wrapObj = (VM_AnimeEpisodeType)wrapper;
                                VM_AnimeEpisodeType bcObj   = (VM_AnimeEpisodeType)BreadCrumbs[i];
                                if (wrapObj.EpisodeTypeDescription == bcObj.EpisodeTypeDescription)
                                {
                                    pos = i;
                                }
                            }
                            else if (wrapper is VM_AnimeEpisode_User && BreadCrumbs[i] is VM_AnimeEpisode_User)
                            {
                                VM_AnimeEpisode_User wrapObj = (VM_AnimeEpisode_User)wrapper;
                                VM_AnimeEpisode_User bcObj   = (VM_AnimeEpisode_User)BreadCrumbs[i];
                                if (wrapObj.AnimeEpisodeID == bcObj.AnimeEpisodeID)
                                {
                                    pos = i;
                                }
                            }
                        }
                    }
                    else
                    {
                        pos = 0;
                    }

                    if (pos > 0)
                    {
                        for (int i = BreadCrumbs.Count - 1; i >= 0; i--)
                        {
                            if (i >= pos)
                            {
                                BreadCrumbs.RemoveAt(i);
                            }
                        }
                    }
                    else if (pos == 0)
                    {
                        BreadCrumbs.Clear();
                    }


                    BreadCrumbs.Add(wrapper);

                    if (wrapper is VM_GroupFilter)
                    {
                        if (AllGroupsDictionary.Count == 0)
                        {
                            RefreshGroupsSeriesData();
                        }

                        // apply sorting
                        // get default sorting from the group filter
                    }


                    // means we are at the top level
                    if (wrapper == null)
                    {
                        CurrentWrapperList.Clear();
                        foreach (VM_GroupFilter grpFilter in AllGroupFiltersDictionary.Values
                                 .Where(a => a != null && !a.ParentGroupFilterID.HasValue).OrderBy(a => a.GroupFilterName))
                        {
                            CurrentWrapperList.Add(grpFilter);
                        }
                    }
                    else
                    {
                        CurrentWrapperList.Clear();
                        foreach (IListWrapper wp in wrapper.GetDirectChildren())
                        {
                            CurrentWrapperList.Add(wp);
                        }
                    }

                    SetGroupFilterSortingOnMainList();
                    ViewGroups.Refresh();

                    //new FilterMainListBox(ViewGroups, SearchTextBox, CurrentGroupFilter);
                });
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        public void CopyToTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);
            int[] array = new int[list.Count];
            target.CopyTo(array, 0);

            for (int i = 1; i <= 3; i++)
                Assert.AreEqual(i, list[i - 1]);
        }
        public void GetEnumeratorTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);
            int counter = 0;
            foreach (int i in target)
                Assert.AreEqual(++counter, i);
        }
        public void IndexOfTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            for (int i = 0; i < list.Count; i++)
                Assert.AreEqual(i, target.IndexOf(i + 1));
        }
        public void InsertTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            int item = 5;
            target.Insert(1, item);

            Assert.AreEqual(item, list[1]);
            Assert.AreEqual(1, list[0]);
            Assert.AreEqual(2, list[2]);
        }
        public void ItemTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            for (int i = 0; i < list.Count; i++)
                Assert.AreEqual(list[i], target[i]);

            int item = 5;
            target[1] = item;
            Assert.AreEqual(item, list[1]);
        }
 public Printer(IListWrapper listWrapper)
 {
     _listWrapper = listWrapper;
 }
        public void RemoveTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            target.Remove(2);

            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(1, list[0]);
            Assert.AreEqual(3, list[1]);
        }
        public void ContainsTest()
        {
            IList list = new ArrayList();
            for (int i = 1; i <= 3; i++)
                list.Add(i);

            IListWrapper<int> target = new IListWrapper<int>(list);

            Assert.IsTrue(target.Contains(2));
            Assert.IsFalse(target.Contains(0));
        }
Esempio n. 25
0
                private bool _firstCall;        // firstCall to MoveNext

                internal IListWrapperEnumWrapper(IListWrapper listWrapper, int startIndex, int count)
                {
                    _en = listWrapper.GetEnumerator();
                    _initialStartIndex = startIndex;
                    _initialCount = count;
                    while (startIndex-- > 0 && _en.MoveNext()) ;
                    _remaining = count;
                    _firstCall = true;
                }
 public static IList <System.Windows.Forms.DataGridViewColumn> AsIList(this System.Windows.Forms.DataGridViewColumnCollection source)
 {
     return(IListWrapper.Get(source, s => s[0]));
 }