mirror of https://github.com/masayuki0812/c3.git
Yoshiya Hinosawa
8 years ago
5 changed files with 115 additions and 23 deletions
@ -0,0 +1,95 @@
|
||||
import { convertColumnsToData, convertRowsToData } from '../src/data.convert.utils'; |
||||
|
||||
describe('convertColumnsToData', () => { |
||||
it('converts column data to normalized data', () => { |
||||
const data = convertColumnsToData([ |
||||
["cat1", "a", "b", "c", "d"], |
||||
["data1", 30, 200, 100, 400], |
||||
["cat2", "b", "a", "c", "d", "e", "f"], |
||||
["data2", 400, 60, 200, 800, 10, 10] |
||||
]); |
||||
|
||||
expect(data).toEqual([{ |
||||
cat1: 'a', |
||||
data1: 30, |
||||
cat2: 'b', |
||||
data2: 400 |
||||
}, { |
||||
cat1: 'b', |
||||
data1: 200, |
||||
cat2: 'a', |
||||
data2: 60 |
||||
}, { |
||||
cat1: 'c', |
||||
data1: 100, |
||||
cat2: 'c', |
||||
data2: 200 |
||||
}, { |
||||
cat1: 'd', |
||||
data1: 400, |
||||
cat2: 'd', |
||||
data2: 800 |
||||
}, { |
||||
cat2: 'e', |
||||
data2: 10 |
||||
}, { |
||||
cat2: 'f', |
||||
data2: 10 |
||||
}]); |
||||
}); |
||||
|
||||
it('throws when the column data contains undefined', () => { |
||||
expect(() => convertColumnsToData([ |
||||
["cat1", "a", "b", "c", "d"], |
||||
["data1", undefined] |
||||
])).toThrowError(Error, /Source data is missing a component/); |
||||
}); |
||||
}); |
||||
|
||||
describe('convertRowsToData', () => { |
||||
it('converts the row data to normalized data', () => { |
||||
const data = convertRowsToData([ |
||||
['data1', 'data2', 'data3'], |
||||
[90, 120, 300], |
||||
[40, 160, 240], |
||||
[50, 200, 290], |
||||
[120, 160, 230], |
||||
[80, 130, 300], |
||||
[90, 220, 320] |
||||
]); |
||||
|
||||
expect(data).toEqual([{ |
||||
data1: 90, |
||||
data2: 120, |
||||
data3: 300 |
||||
}, { |
||||
data1: 40, |
||||
data2: 160, |
||||
data3: 240 |
||||
}, { |
||||
data1: 50, |
||||
data2: 200, |
||||
data3: 290 |
||||
}, { |
||||
data1: 120, |
||||
data2: 160, |
||||
data3: 230 |
||||
}, { |
||||
data1: 80, |
||||
data2: 130, |
||||
data3: 300 |
||||
}, { |
||||
data1: 90, |
||||
data2: 220, |
||||
data3: 320 |
||||
}]); |
||||
}); |
||||
|
||||
it('throws when the row data contains undefined', () => { |
||||
expect(() => convertRowsToData([ |
||||
['data1', 'data2', 'data3'], |
||||
[40, 160, 240], |
||||
[90, 120, undefined] |
||||
])).toThrowError(Error, /Source data is missing a component/); |
||||
}); |
||||
}); |
Loading…
Reference in new issue