Ejemplo n.º 1
0
        public TestCaseRankGraph()
        {
            RankGraph graph;

            var data          = new int[89];
            var dataWithZeros = new int[89];
            var smallData     = new int[89];

            for (int i = 0; i < 89; i++)
            {
                data[i] = dataWithZeros[i] = (i + 1) * 1000;
            }

            for (int i = 20; i < 60; i++)
            {
                dataWithZeros[i] = 0;
            }

            for (int i = 79; i < 89; i++)
            {
                smallData[i] = 100000 - i * 1000;
            }

            Add(new Container
            {
                Anchor   = Anchor.Centre,
                Origin   = Anchor.Centre,
                Size     = new Vector2(300, 150),
                Children = new Drawable[]
                {
                    new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Colour           = OsuColour.Gray(0.2f)
                    },
                    graph = new RankGraph
                    {
                        RelativeSizeAxes = Axes.Both,
                    }
                }
            });

            AddStep("null user", () => graph.User.Value = null);
            AddStep("rank only", () =>
            {
                graph.User.Value = new User
                {
                    Statistics = new UserStatistics
                    {
                        Ranks = new UserStatistics.UserRanks {
                            Global = 123456
                        },
                        PP = 12345,
                    }
                };
            });

            AddStep("with rank history", () =>
            {
                graph.User.Value = new User
                {
                    Statistics = new UserStatistics
                    {
                        Ranks = new UserStatistics.UserRanks {
                            Global = 89000
                        },
                        PP = 12345,
                    },
                    RankHistory = new User.RankHistoryData
                    {
                        Data = data,
                    }
                };
            });

            AddStep("with zero values", () =>
            {
                graph.User.Value = new User
                {
                    Statistics = new UserStatistics
                    {
                        Ranks = new UserStatistics.UserRanks {
                            Global = 89000
                        },
                        PP = 12345,
                    },
                    RankHistory = new User.RankHistoryData
                    {
                        Data = dataWithZeros,
                    }
                };
            });

            AddStep("small amount of data", () =>
            {
                graph.User.Value = new User
                {
                    Statistics = new UserStatistics
                    {
                        Ranks = new UserStatistics.UserRanks {
                            Global = 12000
                        },
                        PP = 12345,
                    },
                    RankHistory = new User.RankHistoryData
                    {
                        Data = smallData,
                    }
                };
            });
        }
Ejemplo n.º 2
0
        public TestSceneRankGraph()
        {
            RankGraph graph;

            int[] data          = new int[89];
            int[] dataWithZeros = new int[89];
            int[] smallData     = new int[89];
            int[] edgyData      = new int[89];

            for (int i = 0; i < 89; i++)
            {
                data[i] = dataWithZeros[i] = (i + 1) * 1000;
            }

            for (int i = 20; i < 60; i++)
            {
                dataWithZeros[i] = 0;
            }

            for (int i = 79; i < 89; i++)
            {
                smallData[i] = 100000 - i * 1000;
            }

            bool edge = true;

            for (int i = 0; i < 20; i++)
            {
                edgyData[i] = 100000 + (edge ? 1000 : -1000) * (i + 1);
                edge        = !edge;
            }

            Add(new Container
            {
                Anchor   = Anchor.Centre,
                Origin   = Anchor.Centre,
                Size     = new Vector2(300, 150),
                Children = new Drawable[]
                {
                    new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Colour           = OsuColour.Gray(0.2f)
                    },
                    graph = new RankGraph
                    {
                        RelativeSizeAxes = Axes.Both,
                    }
                }
            });

            AddStep("null user", () => graph.Statistics.Value = null);
            AddStep("rank only", () =>
            {
                graph.Statistics.Value = new UserStatistics
                {
                    GlobalRank = 123456,
                    PP         = 12345,
                };
            });

            AddStep("with rank history", () =>
            {
                graph.Statistics.Value = new UserStatistics
                {
                    GlobalRank  = 89000,
                    PP          = 12345,
                    RankHistory = new APIRankHistory
                    {
                        Data = data,
                    }
                };
            });

            AddStep("with zero values", () =>
            {
                graph.Statistics.Value = new UserStatistics
                {
                    GlobalRank  = 89000,
                    PP          = 12345,
                    RankHistory = new APIRankHistory
                    {
                        Data = dataWithZeros,
                    }
                };
            });

            AddStep("small amount of data", () =>
            {
                graph.Statistics.Value = new UserStatistics
                {
                    GlobalRank  = 12000,
                    PP          = 12345,
                    RankHistory = new APIRankHistory
                    {
                        Data = smallData,
                    }
                };
            });

            AddStep("graph with edges", () =>
            {
                graph.Statistics.Value = new UserStatistics
                {
                    GlobalRank  = 12000,
                    PP          = 12345,
                    RankHistory = new APIRankHistory
                    {
                        Data = edgyData,
                    }
                };
            });
        }