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")); }
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); }
private bool moreRecordsExist <T>(IListWrapper <T> onePull) { if ((onePull.Start + onePull.Count >= onePull.Total) || onePull.Count == 0) { return(false); } return(true); }
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); }
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); } }
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]); }
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")); } }
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); } }
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); }
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; }
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; } }
//[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)); }
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])); }