Skip to content

Commit 5f74658

Browse files
committed
Add Grid::repair test
1 parent 0e4fcab commit 5f74658

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

pineappl/src/grid.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1609,6 +1609,39 @@ mod tests {
16091609
assert_eq!(grid.orders().len(), 1);
16101610
}
16111611

1612+
#[test]
1613+
fn grid_repair() {
1614+
use super::super::packed_array::PackedArray;
1615+
// create emtpy grid
1616+
let mut grid = Grid::new(
1617+
BinsWithFillLimits::from_fill_limits([0.0, 0.25, 0.5, 0.75, 1.0].to_vec()).unwrap(),
1618+
vec![Order::new(0, 2, 0, 0, 0)],
1619+
vec![channel![1.0 * (2, 2) + 1.0 * (4, 4)]],
1620+
PidBasis::Pdg,
1621+
vec![Conv::new(ConvType::UnpolPDF, 2212); 2],
1622+
v0::default_interps(false, 2),
1623+
vec![Kinematics::Scale(0), Kinematics::X(0), Kinematics::X(1)],
1624+
Scales {
1625+
ren: ScaleFuncForm::Scale(0),
1626+
fac: ScaleFuncForm::Scale(0),
1627+
frg: ScaleFuncForm::NoScale,
1628+
},
1629+
);
1630+
let was_reparied = grid.repair();
1631+
assert!(!was_reparied);
1632+
// insert nothing
1633+
let x = vec![
1634+
0.015625, 0.03125, 0.0625, 0.125, 0.1875, 0.25, 0.375, 0.5, 0.75, 1.0,
1635+
];
1636+
let mut ar = PackedArray::new(vec![1, 10, 10]);
1637+
ar[[0, 0, 0]] = 0.;
1638+
let sg: SubgridEnum =
1639+
ImportSubgridV1::new(ar, vec![vec![0.0], x.clone(), x.clone()]).into();
1640+
grid.subgrids_mut()[[0, 0, 0]] = sg;
1641+
let was_reparied = grid.repair();
1642+
assert!(was_reparied);
1643+
}
1644+
16121645
#[test]
16131646
fn grid_merge_orders() {
16141647
let mut grid = Grid::new(

0 commit comments

Comments
 (0)