cookie_cutter::__internal__single_source_single_template_tests!(
    data_types,
    r#"<p>Picked up 2 signals:</p>
<ul>
<li>Recent signal 0 "Base" at 0, 0</li>
<li>Signal 1 "Outpost" at 30.4, 50.3</li>
</ul>"#,
    "../testdata/source_files/data_types.cctmpl",
    cookie_cutter::include_templates!("../testdata/source_files/data_types.cctmpl"),
    "data_types",
    value! {
        signals: [
            {
                number: 0,
                name: "Base",
                recent: true,
                coordinates: [0_f64, 0_f64]
            },
            {
                number: 1,
                name: "Outpost",
                recent: false,
                coordinates: [30.4_f64, 50.3_f64]
            }
        ]
    },
    {
        #[allow(dead_code)]
        #[cfg_attr(feature = "serde", derive(Serialize))]
        struct Data {
            signals: Vec<Signal>,
        }

        #[allow(dead_code)]
        #[cfg_attr(feature = "serde", derive(Serialize))]
        struct Signal {
            number: i32,
            name: &'static str,
            recent: bool,
            coordinates: (f64, f64),
        }
    },
    Data {
        signals: vec![
            Signal {
                recent: true,
                name: "Base",
                number: 0,
                coordinates: (0_f64, 0_f64),
            },
            Signal {
                recent: false,
                name: "Outpost",
                number: 1,
                coordinates: (30.4, 50.3),
            },
        ],
    }
);
