// #[cfg(not(tarpaulin_include))]
// #[cfg(test)]
// mod snapshot {

//     extern crate pretty_assertions;
//     extern crate rust_d3_geo;

//     use std::fs::File;

//     use geo_types::Coord;
//     use pretty_assertions::assert_eq;
//     use geo::{Geometry, GeometryCollection};
//     use topojson::Topology;

//     use d3_geo_rs::clip::circle::pv::PV;
// // import {Canvas} from "canvas";
// // import {feature, mesh} from "topojson-client";

// use d3_geo_rs::projection::stereographic;

//   use d3_geo_rs::projection::azimuthal_equal_area::AzimuthalEqualArea;
//   use d3_geo_rs::projection::equirectangular::EquirectangularRaw;
//   use d3_geo_rs::projection::gnomic::Gnomic;
//   use d3_geo_rs::projection::mercator::Mercator;
//   use d3_geo_rs::projection::orthographic::Orthographic;
//   use d3_geo_rs::path::path::Path;
//   use d3_geo_rs::projection::stereographic::Stereographic;

// // import {readFile} from "fs/promises";

// static  width: i32 = 960;
// static height: i32 = 500;

// async fn renderWorld(projection) {
//   let file =
//   File::open("./tests/world-atlas/world/50m.json").expect("File should open read only.");
// let world: Topology =
//   serde_json::from_reader(file).expect("File should be parse as JSON.");

//   // const canvas = new Canvas(width, height);
//   // const graticule = geoGraticule();
//   // const sphere = {type: "Sphere"};
//   // const context = canvas.getContext("2d");
//   // const path = geoPath(projection, context);
//   // context.fillStyle = "#fff";
//   // context.fillRect(0, 0, width, height);
//   // context.save();
//   // context.beginPath();
//   // path(feature(world, world.objects.land));
//   // context.fillStyle = "#000";
//   // context.fill();
//   // context.beginPath();
//   // path(graticule());
//   // context.strokeStyle = "rgba(119,119,119,0.5)";
//   // context.stroke();
//   // context.restore();
//   // context.beginPath();
//   // path(sphere);
//   // context.strokeStyle = "#000";
//   // context.stroke();
//   // return canvas;
// }

// // async function renderUs(projection) {
// //   const us = JSON.parse(await readFile("./test/data/us-10m.json"));
// //   const canvas = new Canvas(width, height);
// //   const context = canvas.getContext("2d");
// //   const path = geoPath(projection, context);
// //   context.fillStyle = "#fff";
// //   context.fillRect(0, 0, width, height);
// //   context.beginPath();
// //   path(feature(us, us.objects.land));
// //   context.fillStyle = "#000";
// //   context.fill();
// //   context.beginPath();
// //   path(mesh(us, us.objects.counties, (a, b) => a !== b && !(a.id / 1000 ^ b.id / 1000)));
// //   context.lineWidth = 0.5;
// //   context.strokeStyle = "#fff";
// //   context.stroke();
// //   context.beginPath();
// //   path(mesh(us, us.objects.states, (a, b) => a !== b));
// //   context.lineWidth = 1;
// //   context.strokeStyle = "#fff";
// //   context.stroke();
// //   return canvas;
// // }

// // export async function azimuthalEqualArea() {
// //   return renderWorld(geoAzimuthalEqualArea().precision(0.1));
// // }

// // export async function azimuthalEquidistant() {
// //   return renderWorld(geoAzimuthalEquidistant().precision(0.1));
// // }

// // export async function conicConformal() {
// //   return renderWorld(geoConicConformal().precision(0.1));
// // }

// // export async function conicEqualArea() {
// //   return renderWorld(geoConicEqualArea().precision(0.1));
// // }

// // export async function conicEquidistant() {
// //   return renderWorld(geoConicEquidistant().precision(0.1));
// // }

// // export async function equalEarth() {
// //   return renderWorld(geoEqualEarth().precision(0.1));
// // }

// // export async function equirectangular() {
// //   return renderWorld(geoEquirectangular().precision(0.1));
// // }

// // export async function gnomonic() {
// //   return renderWorld(geoGnomonic().precision(0.1));
// // }

// // export async function mercator() {
// //   return renderWorld(geoMercator().precision(0.1));
// // }

// // export async function naturalEarth1() {
// //   return renderWorld(geoNaturalEarth1().precision(0.1));
// // }

// // export async function angleorient30() {
// //   return renderWorld(geoEquirectangular().clipAngle(90).angle(-30).precision(0.1).fitExtent([[0, 0], [width, height]], {type: "Sphere"}));
// // }

// // export async function orthographic() {
// //   return renderWorld(geoOrthographic().precision(0.1));
// // }

// // export async function stereographic() {
// //   return renderWorld(geoStereographic().precision(0.1));
// // }

// // export async function transverseMercator() {
// //   return renderWorld(geoTransverseMercator().precision(0.1));
// // }

// // export async function albers() {
// //   return renderUs(geoAlbers().precision(0.1));
// // }

// // export async function albersUsa() {
// //   return renderUs(geoAlbersUsa().precision(0.1));
// // }
// }
