//[Test] public void CheckEntityListPaginated() { EntityList <Job> list = new EntityList <Job>(context); list.OpenSearchEngine = ose; list.Identifier = "test"; for (int i = 1; i <= 10; i++) { list.Include(new Job(context) { Name = "" + i }); } var nvc = new NameValueCollection(); var request = (AtomOpenSearchRequest)list.Create(new QuerySettings("application/atom+xml", ose.GetExtensionByExtensionName("atom").ReadNative), nvc); AtomFeed feed = (AtomFeed)request.GetResponse().GetResponseObject(); Assert.That(feed.Items.First().Title.Text == "1"); Assert.That(feed.Items.Last().Title.Text == "10"); nvc.Add("startIndex", "2"); request = (AtomOpenSearchRequest)list.Create(new QuerySettings("application/atom+xml", ose.GetExtensionByExtensionName("atom").ReadNative), nvc); feed = (AtomFeed)request.GetResponse().GetResponseObject(); Assert.That(feed.Items.First().Title.Text == "2"); Assert.That(feed.Items.Last().Title.Text == "10"); nvc.Remove("startIndex"); nvc.Add("q", "4"); request = (AtomOpenSearchRequest)list.Create(new QuerySettings("application/atom+xml", ose.GetExtensionByExtensionName("atom").ReadNative), nvc); feed = (AtomFeed)request.GetResponse().GetResponseObject(); Assert.That(feed.Items.First().Title.Text == "4"); Assert.That(feed.Items.Last().Title.Text == "4"); }
public static IEntityDirectory <string> GetCommonDirectory() { var root = EntityDirectory <string> .Create(); var subFolder = root.GetOrAdd("TestDirectory", EntityDirectory <string> .Create); var testString = subFolder.GetOrAdd("TestString", () => EntitySubject <string> .Create("TestString")); var testInt = subFolder.GetOrAdd("TestInt", () => EntitySubject <int> .Create(23)); var testDouble = subFolder.GetOrAdd("TestDouble", () => EntitySubject <double> .Create(23.0)); var testBool = subFolder.GetOrAdd("TestBool", () => EntitySubject <bool> .Create(true)); var testList = subFolder.GetOrAdd("TestList", () => EntityList <IEntitySubject <int> > .Create()); testList.Add(EntitySubject <int> .Create(1)); testList.Add(EntitySubject <int> .Create(10)); testList.Add(EntitySubject <int> .Create(15)); return(root); }
public static dynamic GetDynamicCommonDirectory() { var root = EntityDirectory <string> .Create().AsDynamic(); root.TestDirectory = EntityDirectory <string> .Create(); root.TestDirectory.TestString = EntitySubject <string> .Create("TestString"); root.TestDirectory.TestInt = EntitySubject <int> .Create(23); root.TestDirectory.TestDouble = EntitySubject <double> .Create(23.0); root.TestDirectory.TestBool = EntitySubject <bool> .Create(true); root.TestDirectory.TestList = EntityList <IEntitySubject <int> > .Create(); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(1)); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(10)); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(15)); return(root); }
private static SharedspaceUser CreateUser(WorkspaceRole role = null) { SharedspaceUser user = new SharedspaceUser(); user.Name = "Name" + Guid.NewGuid() + "@hpe.com"; user.Password = "******"; user.LastName = "Last name"; user.FirstName = "First name"; user.Email = user.Name; user.Phone1 = "123-123-123"; if (role != null) { user.WorkspaceRoles = EntityList <WorkspaceRole> .Create(role); } var fields = new string[] { "name", "workspace_roles" }; SharedspaceUser createdUser = entityService.Create <SharedspaceUser>(sharedSpaceContext, user, fields); Assert.AreEqual <string>(user.Name, createdUser.Name); return(createdUser); }
public void CreateTeamTest() { EntityListResult <WorkspaceUser> wsUsers = WorkspaceUserTests.GetAllWorkspaceUsers(); var team = new Team { Name = "Team_" + Guid.NewGuid(), EstimatedVelocity = 50, Releases = EntityList <Release> .Create(ReleaseTests.CreateRelease()), TeamLead = wsUsers.data[0] }; string[] fields = new string[] { Team.NUMBER_OF_MEMBERS_FIELD, Team.ESTIMATED_VELOCITY_FIELD, Team.TEAM_LEAD_FIELD, Team.TEAM_MEMBERS_FIELD, Team.NAME_FIELD, Team.RELEASES_FIELD }; var createdTeam = entityService.Create(workspaceContext, team, fields); var r = createdTeam.Releases; var r2 = createdTeam.Releases; Assert.AreEqual(team.Name, createdTeam.Name); Assert.AreEqual(team.EstimatedVelocity, createdTeam.EstimatedVelocity); Assert.AreEqual(1, createdTeam.NumberOfMembers); Assert.AreEqual(team.Releases.data[0].Id, createdTeam.Releases.data[0].Id); }
/// <summary> /// 布局标记列表 /// </summary> /// <param name="entitys">标记列表</param> private void LayoutEntityList(EntityList entitys) { //确定初始属性 foreach (Entity entity in entitys) { EntityLayoutParams layout = GetLayoutParams(entity.ViewSize); Vector2 position = m_MainCamera.transform.InverseTransformPoint(entity.TargetPosition).normalized *layout.RingRadius; entity.Angle = Mathf.Atan2(position.y, position.x) * Mathf.Rad2Deg; entity.Radius = layout.GetRadius(entity.Angle); } //按角度排序 entitys.SortByAngle(); //按角度分组 for (int i = 0; i < entitys.Count; i++) { if (i == 0 || entitys[i].Angle != entitys[i - 1].Angle) { m_GroupedEntitys.Add(EntityList.Create()); } m_GroupedEntitys[m_GroupedEntitys.Count - 1].Add(entitys[i]); } //分组展开 for (int i = 0; i < m_GroupedEntitys.Count; i++) { LayoutEntityGroup(m_GroupedEntitys[i]); } //多层次组合,再展开 while (m_GroupedEntitys.Count > 1) { bool changed = false; //相邻组合并 for (int i = 0; i < m_GroupedEntitys.Count - 1; i++) { EntityList group = m_GroupedEntitys[i]; EntityList nextGroup = m_GroupedEntitys[i + 1]; if (group.MaxAngle >= nextGroup.MinAngle) { group.AddRange(nextGroup); group.MinAngle = Mathf.Min(group.MinAngle, nextGroup.MinAngle); group.MaxAngle = Mathf.Max(group.MaxAngle, nextGroup.MaxAngle); m_GroupedEntitys.Remove(nextGroup); EntityList.Recycle(nextGroup); changed = true; i--; } } //首尾合并 if (m_GroupedEntitys.Count > 1) { EntityList lastGroup = m_GroupedEntitys[m_GroupedEntitys.Count - 1]; EntityList firstGroup = m_GroupedEntitys[0]; float firstMinAngle = firstGroup.MinAngle + 360.0f; float firstMaxAngle = firstGroup.MaxAngle + 360.0f; if (lastGroup.MaxAngle >= firstMaxAngle) { lastGroup.MinAngle = Mathf.Min(lastGroup.MinAngle, firstMinAngle); lastGroup.MaxAngle = Mathf.Max(lastGroup.MaxAngle, firstMaxAngle); for (int j = 0; j < firstGroup.Count; j++) { Entity entity = firstGroup[j]; entity.Angle += 360.0f; lastGroup.Add(entity); } m_GroupedEntitys.Remove(firstGroup); EntityList.Recycle(firstGroup); changed = true; } } // if (changed) { for (int i = 0; i < m_GroupedEntitys.Count; i++) { EntityList group = m_GroupedEntitys[i]; group.SortByAngle(); LayoutEntityGroup(group); } } else { break; } } //回收组列表 for (int i = 0; i < m_GroupedEntitys.Count; i++) { EntityList.Recycle(m_GroupedEntitys[i]); } m_GroupedEntitys.Clear(); //应用坐标到视图 foreach (Entity entity in m_EdgeEntitys) { EntityLayoutParams layout = GetLayoutParams(entity.ViewSize); //Debug.LogWarning(entity.Angle); Vector3 pos = Quaternion.Euler(0, 0, entity.Angle) * (Vector3.right * layout.RingRadius); Vector2 arrowPosition = m_ScaleBox.InverseTransformPoint(m_Root.TransformPoint(pos)); arrowPosition = arrowPosition.normalized * (Mathf.Max(m_Root.rect.width, m_Root.rect.height) / 2); arrowPosition = m_Root.InverseTransformPoint(m_ScaleBox.TransformPoint(arrowPosition)); entity.View.anchoredPosition = arrowPosition; } }