• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-angular / 13331632524

14 Feb 2025 02:51PM CUT coverage: 22.015% (-69.6%) from 91.622%
13331632524

Pull #15372

github

web-flow
Merge d52d57714 into bcb78ae0a
Pull Request #15372: chore(*): test ci passing

1990 of 15592 branches covered (12.76%)

431 of 964 new or added lines in 18 files covered. (44.71%)

19956 existing lines in 307 files now uncovered.

6452 of 29307 relevant lines covered (22.02%)

249.17 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

69.23
/projects/igniteui-angular/src/lib/data-operations/test-util/data-generator.ts
1
import { GridColumnDataType } from '../data-util';
2

3
/**
4
 * @hidden
5
 */
6
const COUNT_ROWS = 5;
2✔
7

8
/**
9
 * @hidden
10
 */
11
const COUNT_COLS = 4;
2✔
12

13
/**
14
 * @hidden
15
 */
16
export interface IDataColumn {
17
    fieldName: string;
18
    type: GridColumnDataType;
19
}
20

21
/**
22
 * @hidden
23
 */
24
export class DataGenerator {
25
    public columns: IDataColumn[] = [];
4✔
26
    public data: any[] = [];
4✔
27
    constructor(countRows = COUNT_ROWS, countCols = COUNT_COLS) {
8✔
28
        this.columns = this.generateColumns(countCols);
4✔
29
        this.data = this.generateData(countRows);
4✔
30
    }
31
    public generateArray(startValue, endValue) {
UNCOV
32
        const len = Math.abs(startValue - endValue);
×
UNCOV
33
        const decrement = startValue > endValue;
×
UNCOV
34
        return Array.from({ length: len + 1 }, (e, i) => decrement ? startValue - i : startValue + i);
×
35
    }
36
    public getValuesForColumn(data, fieldName) {
UNCOV
37
        return data.map((x) => x[fieldName]);
×
38
    }
39
    public getGroupRecords(data) {
UNCOV
40
        return data.map((x) => x['groupParent']);
×
41
    }
42
    public isSuperset(haystack, arr) {
43
        return arr.every((val) => haystack.indexOf(val) >= 0);
×
44
    }
45
    private generateColumns(countCols): IDataColumn[] {
46
        let i: number;
47
        const defaultColumns: IDataColumn[] = [
4✔
48
            {
49
                fieldName: 'number',
50
                type: GridColumnDataType.Number
51
            },
52
            {
53
                fieldName: 'string',
54
                type: GridColumnDataType.String
55
            },
56
            {
57
                fieldName: 'date',
58
                type: GridColumnDataType.Date
59
            },
60
            {
61
                fieldName: 'boolean',
62
                type: GridColumnDataType.Boolean
63
            }
64
        ];
65
        if (countCols <= 0) {
4!
66
            return defaultColumns;
×
67
        }
68
        if (countCols <= defaultColumns.length) {
4✔
69
            return defaultColumns.slice(0, countCols);
4✔
70
        }
71
        const len = countCols - defaultColumns.length;
×
72
        const res = defaultColumns;
×
73
        for (i = 0; i < len; i++) {
×
74
            res.push({
×
75
                fieldName: `col${i}`,
76
                type: GridColumnDataType.String
77
            });
78
        }
79
        return res;
×
80
    }
81
    private generateData(countRows: number) {
82
        let i;
83
        let j;
84
        let rec;
85
        let val;
86
        let col;
87
        const data = [];
4✔
88
        for (i = 0; i < countRows; i++) {
4✔
89
            rec = {};
20✔
90
            for (j = 0; j < this.columns.length; j++) {
20✔
91
                col = this.columns[j];
80✔
92
                switch (col.type) {
80✔
93
                    case GridColumnDataType.Number:
94
                        val = i;
20✔
95
                        break;
20✔
96
                    case GridColumnDataType.Date:
97
                        val = new Date(Date.now() + i * 24 * 60 * 60 * 1000);
20✔
98
                        break;
20✔
99
                    case GridColumnDataType.Boolean:
100
                        val = !!(i % 2);
20✔
101
                        break;
20✔
102
                    default:
103
                        val = `row${i}, col${j}`;
20✔
104
                        break;
20✔
105
                }
106
                rec[col.fieldName] = val;
80✔
107
            }
108
            data.push(rec);
20✔
109
        }
110
        return data;
4✔
111
    }
112
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc