| 753 | |
| 754 | template <class T> |
| 755 | void CppAggregatesFx<T>::validate_data( |
| 756 | Query& query, |
| 757 | std::vector<uint64_t>& dim1, |
| 758 | std::vector<uint64_t>& dim2, |
| 759 | std::vector<uint8_t>& a1, |
| 760 | std::vector<uint8_t>& a1_validity, |
| 761 | std::function<void(uint64_t value)> aggregate_fn, |
| 762 | const bool validate_count) { |
| 763 | uint64_t expected_count = 0; |
| 764 | std::vector<uint64_t> expected_dim1; |
| 765 | std::vector<uint64_t> expected_dim2; |
| 766 | std::vector<int> expected_a1_int; |
| 767 | std::vector<uint8_t> expected_a1_validity; |
| 768 | if (dense_) { |
| 769 | if (layout_ == TILEDB_ROW_MAJOR) { |
| 770 | if (set_ranges_) { |
| 771 | expected_count = 24; |
| 772 | expected_dim1 = {2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, |
| 773 | 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5}; |
| 774 | expected_dim2 = {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, |
| 775 | 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6}; |
| 776 | expected_a1_int = {3, 4, 5, 12, 13, 14, 6, 7, 8, 15, 16, 17, |
| 777 | 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29}; |
| 778 | expected_a1_validity = {0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, |
| 779 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; |
| 780 | |
| 781 | } else { |
| 782 | expected_count = 36; |
| 783 | expected_dim1 = {1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, |
| 784 | 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6}; |
| 785 | expected_dim2 = {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, |
| 786 | 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6}; |
| 787 | expected_a1_int = {0, 1, 2, 9, 10, 11, 3, 4, 5, 12, 13, 14, |
| 788 | 6, 7, 8, 15, 16, 17, 18, 19, 20, 21, 22, 23, |
| 789 | 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35}; |
| 790 | expected_a1_validity = {1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, |
| 791 | 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, |
| 792 | 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; |
| 793 | } |
| 794 | } else if (layout_ == TILEDB_COL_MAJOR) { |
| 795 | if (set_ranges_) { |
| 796 | expected_count = 24; |
| 797 | expected_dim1 = {2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, |
| 798 | 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5}; |
| 799 | expected_dim2 = {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, |
| 800 | 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6}; |
| 801 | expected_a1_int = {3, 6, 18, 24, 4, 7, 19, 25, 5, 8, 20, 26, |
| 802 | 12, 15, 21, 27, 13, 16, 22, 28, 14, 17, 23, 29}; |
| 803 | expected_a1_validity = {0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, |
| 804 | 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0}; |
| 805 | } else { |
| 806 | expected_count = 36; |
| 807 | expected_dim1 = {1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, |
| 808 | 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6}; |
| 809 | expected_dim2 = {1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, |
| 810 | 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6}; |
| 811 | expected_a1_int = {0, 3, 6, 18, 24, 30, 1, 4, 7, 19, 25, 31, |
| 812 | 2, 5, 8, 20, 26, 32, 9, 12, 15, 21, 27, 33, |
no test coverage detected