Example #1
0
        public IEnumerator TestSegments()
        {
            var index = 0;

            m_Chart.LabelsType = PieChart.LabelDataType.Percentage;
            m_ChartView.Query <Label>().ForEach(label =>
            {
                Assert.IsTrue(label.text.Equals(m_Presents[index]));
                index++;
            });

            index = 0;
            m_Chart.LabelsType = PieChart.LabelDataType.Value;

            yield return(WaitForChartUpdate());

            m_ChartView.Query <Label>().ForEach(label =>
            {
                Assert.IsTrue(label.text.Equals(m_Values[index]));
                index++;
            });

            index = 0;
            m_Chart.LabelsType = PieChart.LabelDataType.Title;

            yield return(WaitForChartUpdate());

            m_ChartView.Query <Label>().ForEach(label =>
            {
                Assert.IsTrue(label.text.Equals(m_Names[index]));
                index++;
            });

            m_Chart.EnableLegend = true;
            var expectedSegmentsCount = m_Values.Count;

            Assert.IsTrue(expectedSegmentsCount == m_ChartView.Query <PieChartSegment>().ToList().Count);
            Assert.IsTrue(expectedSegmentsCount == m_ChartLegend.childCount);

            var segment = m_Chart.Segments[0];

            m_Chart.RemoveSegment(segment);

            expectedSegmentsCount--;
            Assert.IsTrue(expectedSegmentsCount == m_ChartView.Query <PieChartSegment>().ToList().Count);
            Assert.IsTrue(expectedSegmentsCount == m_ChartLegend.childCount);

            m_Chart.AddSegment(new ChartSegmentData <float>
            {
                Title = "New Segment",
                Value = 500f,
                Color = Color.red
            });

            expectedSegmentsCount++;
            Assert.IsTrue(expectedSegmentsCount == m_ChartView.Query <PieChartSegment>().ToList().Count);
            Assert.IsTrue(expectedSegmentsCount == m_ChartLegend.childCount);

            segment = new PieChartSegment
            {
                Data = new ChartSegmentData <float> {
                    Title = "New Segment", Value = 500f, Color = Color.red
                }
            };
            m_Chart.Add(segment);

            expectedSegmentsCount++;
            Assert.IsTrue(expectedSegmentsCount == m_ChartView.Query <PieChartSegment>().ToList().Count);
            Assert.IsTrue(expectedSegmentsCount == m_ChartLegend.childCount);

            yield return(null);
        }