roof_uvalue_test_cases = [
    # Pitched roof
    {
        'insulation_thickness': '0',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 2.3,
    },
    {
        'insulation_thickness': '12',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 1.5
    },
    {
        'insulation_thickness': '25',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 1
    },
    {
        'insulation_thickness': '50',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': '75',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.5
    },
    {
        'insulation_thickness': '100',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': '150',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.3
    },
    {
        'insulation_thickness': '200',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.21
    },
    {
        'insulation_thickness': '250',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.17
    },
    {
        'insulation_thickness': '270',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.16
    },
    {
        'insulation_thickness': '300',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.14
    },
    {
        'insulation_thickness': '350',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.12
    },
    {
        'insulation_thickness': '400+',
        'is_loft': True,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': True,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.11
    },
    # Flat roofs - no insulation
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'B',
        'uvalue': 2.3
    },
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'D',
        'uvalue': 2.3
    },
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'E',
        'uvalue': 1.5
    },
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'F',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'G',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'H',
        'uvalue': 0.35
    },
    # Flat roofs - 50mm insulation
    {
        'insulation_thickness': '50',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'B',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': '50',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'E',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': '50',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'G',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': '50',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'I',
        'uvalue': 0.35
    },
    # Flat roofs - 100mm insulation
    {
        'insulation_thickness': '100',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'B',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': '100',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'F',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': '100',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'J',
        'uvalue': 0.25
    },
    # Flat roofs - 150mm insulation
    {
        'insulation_thickness': '150',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'B',
        'uvalue': 0.3
    },
    {
        'insulation_thickness': '150',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'J',
        'uvalue': 0.25
    },
    {
        'insulation_thickness': '150',
        'is_loft': False,
        'is_roof_room': False,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': True,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'L',
        'uvalue': 0.18
    },
    # Room roof - age band A
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 2.3
    },
    {
        'insulation_thickness': 'below average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': 'average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.4
    },
    {
        'insulation_thickness': 'above average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'A',
        'uvalue': 0.3
    },
    # Room roof - age band E
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'E',
        'uvalue': 1.5
    },
    {
        'insulation_thickness': 'average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'E',
        'uvalue': 0.4
    },
    # Room roof - age band H
    {
        'insulation_thickness': 'none',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'H',
        'uvalue': 0.35
    },
    {
        'insulation_thickness': 'below average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'H',
        'uvalue': 0.68
    },
    {
        'insulation_thickness': 'average',
        'is_loft': False,
        'is_roof_room': True,
        'is_thatched': False,
        'has_dwelling_above': False,
        'is_flat': False,
        'is_pitched': False,
        'is_at_rafters': False,
        'age_band': 'H',
        'uvalue': 0.4
    },
]
