UNPKG

@haystacks/constants

Version:

A repo to store reusable constants libraries for use with haystacks implemented applications & plugins.

656 lines (655 loc) 117 kB
/** * @file shape-constants-validation.js * @module shape-constants-validation * @description Contains validations for named geometric shapes & knots. * @requires module:shape-constants * @author Seth Hollingsead * @date 2020/07/23 * @copyright Copyright © 2020-… by Seth Hollingsead. All rights reserved */ import * as shp from '../../Constants/shape.constants'; /** * @function shapeConstantsValidation * @description Initializes the shape constants validation data objects array. * @return {void} * @author Seth Hollingsead * @date 2020/07/23 */ export const shapeConstantsValidation = [ // Basic Shapes // {Name: 'cline', Actual: shp.cline, Expected: 'line'}, // {Name: 'cLine', Actual: shp.cLine, Expected: 'Line'}, // {Name: 'ccircle', Actual: shp.ccircle, Expected: 'circle'}, // {Name: 'cCircle', Actual: shp.cCircle, Expected: 'Circle'}, // {Name: 'coval', Actual: shp.coval, Expected: 'oval'}, // {Name: 'cOval', Actual: shp.cOval, Expected: 'Oval'}, // {Name: 'csquare', Actual: shp.csquare, Expected: 'square'}, // {Name: 'cSquare', Actual: shp.cSquare, Expected: 'Square'}, // {Name: 'ctriangle', Actual: shp.ctriangle, Expected: 'triangle'}, // {Name: 'cTriangle', Actual: shp.cTriangle, Expected: 'Triangle'}, // {Name: 'crectangle', Actual: shp.crectangle, Expected: 'rectangle'}, // {Name: 'cRectangle', Actual: shp.cRectangle, Expected: 'Rectangle'}, // {Name: 'coctagon', Actual: shp.coctagon, Expected: 'octagon'}, // {Name: 'cOctagon', Actual: shp.cOctagon, Expected: 'Octagon'}, // {Name: 'chexagon', Actual: shp.chexagon, Expected: 'hexagon'}, // {Name: 'cHexagon', Actual: shp.cHexagon, Expected: 'Hexagon'}, // {Name: 'cheptagon', Actual: shp.cheptagon, Expected: 'heptagon'}, // {Name: 'cHeptagon', Actual: shp.cHeptagon, Expected: 'Heptagon'}, // {Name: 'cnonagon', Actual: shp.cnonagon, Expected: 'nonagon'}, // {Name: 'cNonagon', Actual: shp.cNonagon, Expected: 'Nonagon'}, // {Name: 'ctrapezoid', Actual: shp.ctrapezoid, Expected: 'trapezoid'}, // {Name: 'cTrapezoid', Actual: shp.cTrapezoid, Expected: 'Trapezoid'}, // {Name: 'ccube', Actual: shp.ccube, Expected: 'cube'}, // {Name: 'cCube', Actual: shp.cCube, Expected: 'Cube'}, // // This could go on forever!! // // https://en.wikipedia.org/wiki/List_of_mathematical_shapes // // // Miscellaneous // {Name: 'ccubic', Actual: shp.ccubic, Expected: 'cubic'}, // {Name: 'cCubic', Actual: shp.cCubic, Expected: 'Cubic'}, // {Name: 'cplane', Actual: shp.cplane, Expected: 'plane'}, // {Name: 'cPlane', Actual: shp.cPlane, Expected: 'Plane'}, // {Name: 'ccurve', Actual: shp.ccurve, Expected: 'curve'}, // {Name: 'cCurve', Actual: shp.cCurve, Expected: 'Curve'}, // {Name: 'cquartic', Actual: shp.cquartic, Expected: 'quartic'}, // {Name: 'cQuartic', Actual: shp.cQuartic, Expected: 'Quartic'}, // {Name: 'cconic', Actual: shp.cconic, Expected: 'conic'}, // {Name: 'cConic', Actual: shp.cConic, Expected: 'Conic'}, // // // Algebraic Curves // {Name: 'ccubicPlaneCurve', Actual: shp.ccubicPlaneCurve, Expected: 'cubicPlaneCurve'}, // {Name: 'cCubicPlaneCurve', Actual: shp.cCubicPlaneCurve, Expected: 'CubicPlaneCurve'}, // {Name: 'cquarticPlaneCurve', Actual: shp.cquarticPlaneCurve, Expected: 'quarticPlaneCurve'}, // {Name: 'cQuarticPlaneCurve', Actual: shp.cQuarticPlaneCurve, Expected: 'QuarticPlaneCurve'}, // // // 2nd Degree Curves // {Name: 'cconicSection', Actual: shp.cconicSection, Expected: 'conicSection'}, // {Name: 'cConicSection', Actual: shp.cConicSection, Expected: 'ConicSection'}, // {Name: 'cunitCircle', Actual: shp.cunitCircle, Expected: 'unitCircle'}, // {Name: 'cUnitCircle', Actual: shp.cUnitCircle, Expected: 'UnitCircle'}, // {Name: 'cunitHyperbola', Actual: shp.cunitHyperbola, Expected: 'unitHyperbola'}, // {Name: 'cUnitHyperbola', Actual: shp.cUnitHyperbola, Expected: 'UnitHyperbola'}, // // // 3rd Degree Curves // {Name: 'cFoliumOfDescartes', Actual: shp.cFoliumOfDescartes, Expected: 'FoliumOfDescartes'}, // {Name: 'cCissoidOfDiocles', Actual: shp.cCissoidOfDiocles, Expected: 'CissoidOfDiocles'}, // {Name: 'cConchoidOfDeSluze', Actual: shp.cConchoidOfDeSluze, Expected: 'ConchoidOfDeSluze'}, // {Name: 'cRightStrophoid', Actual: shp.cRightStrophoid, Expected: 'RightStrophoid'}, // {Name: 'cSemicubicalParabola', Actual: shp.cSemicubicalParabola, Expected: 'SemicubicalParabola'}, // {Name: 'cSerpentineCurve', Actual: shp.cSerpentineCurve, Expected: 'SerpentineCurve'}, // {Name: 'cTridentCurve', Actual: shp.cTridentCurve, Expected: 'TridentCurve'}, // {Name: 'cTrisectrixOfMaclaurin', Actual: shp.cTrisectrixOfMaclaurin, Expected: 'TrisectrixOfMaclaurin'}, // {Name: 'cTschirnhausenCubic', Actual: shp.cTschirnhausenCubic, Expected: 'TschirnhausenCubic'}, // {Name: 'cWitchOfAgnesi', Actual: shp.cWitchOfAgnesi, Expected: 'WitchOfAgnesi'}, // // // 4th Degree Curves // {Name: 'cAmpersandCurve', Actual: shp.cAmpersandCurve, Expected: 'AmpersandCurve'}, // {Name: 'cBeanCurve', Actual: shp.cBeanCurve, Expected: 'BeanCurve'}, // {Name: 'cBicorn', Actual: shp.cBicorn, Expected: 'Bicorn'}, // {Name: 'cBowCurve', Actual: shp.cBowCurve, Expected: 'BowCurve'}, // {Name: 'cBulletNoseCurve', Actual: shp.cBulletNoseCurve, Expected: 'BulletNoseCurve'}, // {Name: 'cCruciformCurve', Actual: shp.cCruciformCurve, Expected: 'CruciformCurve'}, // {Name: 'cDeltoidCurve', Actual: shp.cDeltoidCurve, Expected: 'DeltoidCurve'}, // {Name: 'cDevilsCurve', Actual: shp.cDevilsCurve, Expected: 'DevilsCurve'}, // {Name: 'cHippopede', Actual: shp.cHippopede, Expected: 'Hippopede'}, // {Name: 'cKampyleOfEudoxus', Actual: shp.cKampyleOfEudoxus, Expected: 'KampyleOfEudoxus'}, // {Name: 'cKappaCurve', Actual: shp.cKappaCurve, Expected: 'KappaCurve'}, // {Name: 'cLemniscateOfBooth', Actual: shp.cLemniscateOfBooth, Expected: 'LemniscateOfBooth'}, // {Name: 'cLemniscateOfGerono', Actual: shp.cLemniscateOfGerono, Expected: 'LemniscateOfGerono'}, // {Name: 'cLemniscateOfBernoulli', Actual: shp.cLemniscateOfBernoulli, Expected: 'LemniscateOfBernoulli'}, // {Name: 'cLimacon', Actual: shp.cLimacon, Expected: 'Limacon'}, // {Name: 'cCardioid', Actual: shp.cCardioid, Expected: 'Cardioid'}, // {Name: 'cLimaconTrisectrix', Actual: shp.cLimaconTrisectrix, Expected: 'LimaconTrisectrix'}, // {Name: 'cTrifoliumCurve', Actual: shp.cTrifoliumCurve, Expected: 'TrifoliumCurve'}, // // // 5th Degree Curves // {Name: 'cQuinticOfLHospital', Actual: shp.cQuinticOfLHospital, Expected: 'QuinticOfLHospital'}, // // // 6th Degree Curves // {Name: 'cAstroid', Actual: shp.cAstroid, Expected: 'Astroid'}, // {Name: 'cAtriphtaloid', Actual: shp.cAtriphtaloid, Expected: 'Atriphtaloid'}, // {Name: 'cNephroid', Actual: shp.cNephroid, Expected: 'Nephroid'}, // {Name: 'cQuadrifolium', Actual: shp.cQuadrifolium, Expected: 'Quadrifolium'}, // // // Families of Variable Degree // {Name: 'cEpicycloid', Actual: shp.cEpicycloid, Expected: 'Epicycloid'}, // {Name: 'cEpispiral', Actual: shp.cEpispiral, Expected: 'Epispiral'}, // {Name: 'cEpitrochoid', Actual: shp.cEpitrochoid, Expected: 'Epitrochoid'}, // {Name: 'cHypocycloid', Actual: shp.cHypocycloid, Expected: 'Hypocycloid'}, // {Name: 'cLissajousCurve', Actual: shp.cLissajousCurve, Expected: 'LissajousCurve'}, // {Name: 'cPoinsotsSpirals', Actual: shp.cPoinsotsSpirals, Expected: 'PoinsotsSpirals'}, // {Name: 'cRationalNormalCurve', Actual: shp.cRationalNormalCurve, Expected: 'RationalNormalCurve'}, // {Name: 'cRoseCurve', Actual: shp.cRoseCurve, Expected: 'RoseCurve'}, // // // Curves of Genus One // {Name: 'cBicuspidCurve', Actual: shp.cBicuspidCurve, Expected: 'BicuspidCurve'}, // {Name: 'cCassiniOval', Actual: shp.cCassiniOval, Expected: 'CassiniOval'}, // {Name: 'cCassinoide', Actual: shp.cCassinoide, Expected: 'Cassinoide'}, // {Name: 'cCubicCurve', Actual: shp.cCubicCurve, Expected: 'CubicCurve'}, // {Name: 'cEllipticCurve', Actual: shp.cEllipticCurve, Expected: 'EllipticCurve'}, // {Name: 'cWattsCurve', Actual: shp.cWattsCurve, Expected: 'WattsCurve'}, // // // Curves with Genus Greater than One // {Name: 'cButterflyCurve', Actual: shp.cButterflyCurve, Expected: 'ButterflyCurve'}, // {Name: 'cElkiesTrinomialCurves', Actual: shp.cElkiesTrinomialCurves, Expected: 'ElkiesTrinomialCurves'}, // {Name: 'cHyperellipticCurve', Actual: shp.cHyperellipticCurve, Expected: 'HyperellipticCurve'}, // {Name: 'cKleinQuartic', Actual: shp.cKleinQuartic, Expected: 'KleinQuartic'}, // {Name: 'cClassicalModularCurve', Actual: shp.cClassicalModularCurve, Expected: 'ClassicalModularCurve'}, // {Name: 'cBolzaSurface', Actual: shp.cBolzaSurface, Expected: 'BolzaSurface'}, // {Name: 'cMacbeathSurface', Actual: shp.cMacbeathSurface, Expected: 'MacbeathSurface'}, // // // Curve Families with Variable Genus // {Name: 'cPolynomialLemniscate', Actual: shp.cPolynomialLemniscate, Expected: 'PolynomialLemniscate'}, // {Name: 'cFermatCurve', Actual: shp.cFermatCurve, Expected: 'FermatCurve'}, // {Name: 'cSinusoidalSpiral', Actual: shp.cSinusoidalSpiral, Expected: 'SinusoidalSpiral'}, // {Name: 'cSuperellipse', Actual: shp.cSuperellipse, Expected: 'Superellipse'}, // {Name: 'cHurwitzSurface', Actual: shp.cHurwitzSurface, Expected: 'HurwitzSurface'}, // // // Transcendental Curves // {Name: 'cBowditchCurve', Actual: shp.cBowditchCurve, Expected: 'BowditchCurve'}, // {Name: 'cBrachistochrone', Actual: shp.cBrachistochrone, Expected: 'Brachistochrone'}, // {Name: 'cCatenary', Actual: shp.cCatenary, Expected: 'Catenary'}, // {Name: 'cClelies', Actual: shp.cClelies, Expected: 'Clelies'}, // {Name: 'cCochleoid', Actual: shp.cCochleoid, Expected: 'Cochleoid'}, // {Name: 'cCycloid', Actual: shp.cCycloid, Expected: 'Cycloid'}, // {Name: 'cHoropter', Actual: shp.cHoropter, Expected: 'Horopter'}, // {Name: 'cIsochrone', Actual: shp.cIsochrone, Expected: 'Isochrone'}, // {Name: 'cTautochrone', Actual: shp.cTautochrone, Expected: 'Tautochrone'}, // {Name: 'cIsochroneOfLeibniz', Actual: shp.cIsochroneOfLeibniz, Expected: 'IsochroneOfLeibniz'}, // {Name: 'cIsochroneOfVarignon', Actual: shp.cIsochroneOfVarignon, Expected: 'IsochroneOfVarignon'}, // {Name: 'cLameCurve', Actual: shp.cLameCurve, Expected: 'LameCurve'}, // {Name: 'cPursuitCurve', Actual: shp.cPursuitCurve, Expected: 'PursuitCurve'}, // {Name: 'cRhumbLine', Actual: shp.cRhumbLine, Expected: 'RhumbLine'}, // {Name: 'cSpirals', Actual: shp.cSpirals, Expected: 'Spirals'}, // {Name: 'cArchimedeanSpiral', Actual: shp.cArchimedeanSpiral, Expected: 'ArchimedeanSpiral'}, // {Name: 'cCornuSpiral', Actual: shp.cCornuSpiral, Expected: 'CornuSpiral'}, // {Name: 'cCotesSpiral', Actual: shp.cCotesSpiral, Expected: 'CotesSpiral'}, // {Name: 'cFermatsSpiral', Actual: shp.cFermatsSpiral, Expected: 'FermatsSpiral'}, // {Name: 'cGalileosSpiral', Actual: shp.cGalileosSpiral, Expected: 'GalileosSpiral'}, // {Name: 'cHyperbolicSpiral', Actual: shp.cHyperbolicSpiral, Expected: 'HyperbolicSpiral'}, // {Name: 'cLituus', Actual: shp.cLituus, Expected: 'Lituus'}, // {Name: 'cLogarithmicSpiral', Actual: shp.cLogarithmicSpiral, Expected: 'LogarithmicSpiral'}, // {Name: 'cNielsensSpiral', Actual: shp.cNielsensSpiral, Expected: 'NielsensSpiral'}, // {Name: 'cSyntractrix', Actual: shp.cSyntractrix, Expected: 'Syntractrix'}, // {Name: 'cTractrix', Actual: shp.cTractrix, Expected: 'Tractrix'}, // {Name: 'cTrochoid', Actual: shp.cTrochoid, Expected: 'Trochoid'}, // // // Piecewise Constructions Curves // {Name: 'cBezierCurve', Actual: shp.cBezierCurve, Expected: 'BezierCurve'}, // {Name: 'cSplines', Actual: shp.cSplines, Expected: 'Splines'}, // {Name: 'cBSpline', Actual: shp.cBSpline, Expected: 'BSpline'}, // {Name: 'cNonuniformRationalBSpline', Actual: shp.cNonuniformRationalBSpline, Expected: 'NonuniformRationalBSpline'}, // {Name: 'cNURBS', Actual: shp.cNURBS, Expected: 'NURBS'}, // {Name: 'cOgee', Actual: shp.cOgee, Expected: 'Ogee'}, // {Name: 'cLoessCurve', Actual: shp.cLoessCurve, Expected: 'LoessCurve'}, // {Name: 'cLowess', Actual: shp.cLowess, Expected: 'Lowess'}, // {Name: 'cPolygonalCurve', Actual: shp.cPolygonalCurve, Expected: 'PolygonalCurve'}, // {Name: 'cMaurerRose', Actual: shp.cMaurerRose, Expected: 'MaurerRose'}, // {Name: 'cReuleauxTriangle', Actual: shp.cReuleauxTriangle, Expected: 'ReuleauxTriangle'}, // {Name: 'cBezierTriangle', Actual: shp.cBezierTriangle, Expected: 'BezierTriangle'}, // // // Curves Generated by Other Curves // {Name: 'cCaustic', Actual: shp.cCaustic, Expected: 'Caustic'}, // {Name: 'cCatacaustic', Actual: shp.cCatacaustic, Expected: 'Catacaustic'}, // {Name: 'cDiacaustic', Actual: shp.cDiacaustic, Expected: 'Diacaustic'}, // {Name: 'cCissoid', Actual: shp.cCissoid, Expected: 'Cissoid'}, // {Name: 'cConchoid', Actual: shp.cConchoid, Expected: 'Conchoid'}, // {Name: 'cEvolute', Actual: shp.cEvolute, Expected: 'Evolute'}, // {Name: 'cGlissette', Actual: shp.cGlissette, Expected: 'Glissette'}, // {Name: 'cInverseCurve', Actual: shp.cInverseCurve, Expected: 'InverseCurve'}, // {Name: 'cInvolute', Actual: shp.cInvolute, Expected: 'Involute'}, // {Name: 'cIsoptic', Actual: shp.cIsoptic, Expected: 'Isoptic'}, // {Name: 'cOrthoptic', Actual: shp.cOrthoptic, Expected: 'Orthoptic'}, // {Name: 'cOrthotomic', Actual: shp.cOrthotomic, Expected: 'Orthotomic'}, // {Name: 'cNegativePedalCurve', Actual: shp.cNegativePedalCurve, Expected: 'NegativePedalCurve'}, // {Name: 'cPedalCurve', Actual: shp.cPedalCurve, Expected: 'PedalCurve'}, // {Name: 'cParallelCurve', Actual: shp.cParallelCurve, Expected: 'ParallelCurve'}, // {Name: 'cRadialCurve', Actual: shp.cRadialCurve, Expected: 'RadialCurve'}, // {Name: 'cRoulette', Actual: shp.cRoulette, Expected: 'Roulette'}, // {Name: 'cStrophoid', Actual: shp.cStrophoid, Expected: 'Strophoid'}, // // // Space Curves // {Name: 'cConchospiral', Actual: shp.cConchospiral, Expected: 'Conchospiral'}, // {Name: 'cHelix', Actual: shp.cHelix, Expected: 'Helix'}, // {Name: 'cTendrilPerversion', Actual: shp.cTendrilPerversion, Expected: 'TendrilPerversion'}, // {Name: 'cHemihelix', Actual: shp.cHemihelix, Expected: 'Hemihelix'}, // {Name: 'cSeiffertsSpiral', Actual: shp.cSeiffertsSpiral, Expected: 'SeiffertsSpiral'}, // {Name: 'cSlinkySpiral', Actual: shp.cSlinkySpiral, Expected: 'SlinkySpiral'}, // {Name: 'cTwistedCubic', Actual: shp.cTwistedCubic, Expected: 'TwistedCubic'}, // {Name: 'cVivianisCurve', Actual: shp.cVivianisCurve, Expected: 'VivianisCurve'}, // // // Surfaces in 3D Space // {Name: 'cQuadricSurfaces', Actual: shp.cQuadricSurfaces, Expected: 'QuadricSurfaces'}, // {Name: 'cCone', Actual: shp.cCone, Expected: 'Cone'}, // {Name: 'cCylinder', Actual: shp.cCylinder, Expected: 'Cylinder'}, // {Name: 'cEllipsoid', Actual: shp.cEllipsoid, Expected: 'Ellipsoid'}, // {Name: 'cSpheroid', Actual: shp.cSpheroid, Expected: 'Spheroid'}, // {Name: 'cSphere', Actual: shp.cSphere, Expected: 'Sphere'}, // {Name: 'cHyperboloid', Actual: shp.cHyperboloid, Expected: 'Hyperboloid'}, // {Name: 'cParaboloid', Actual: shp.cParaboloid, Expected: 'Paraboloid'}, // {Name: 'cMobiusStrip', Actual: shp.cMobiusStrip, Expected: 'MobiusStrip'}, // {Name: 'cTorus', Actual: shp.cTorus, Expected: 'Torus'}, // // // Minimal Surfaces // {Name: 'cCatalansMinimalSurface', Actual: shp.cCatalansMinimalSurface, Expected: 'CatalansMinimalSurface'}, // {Name: 'cCostasMinimalSurface', Actual: shp.cCostasMinimalSurface, Expected: 'CostasMinimalSurface'}, // {Name: 'cCatenoid', Actual: shp.cCatenoid, Expected: 'Catenoid'}, // {Name: 'cEnneperSurface', Actual: shp.cEnneperSurface, Expected: 'EnneperSurface'}, // {Name: 'cGyroid', Actual: shp.cGyroid, Expected: 'Gyroid'}, // {Name: 'cHelicoid', Actual: shp.cHelicoid, Expected: 'Helicoid'}, // {Name: 'cLidinoid', Actual: shp.cLidinoid, Expected: 'Lidinoid'}, // {Name: 'cRiemannsMinimalSurface', Actual: shp.cRiemannsMinimalSurface, Expected: 'RiemannsMinimalSurface'}, // {Name: 'cSaddleTower', Actual: shp.cSaddleTower, Expected: 'SaddleTower'}, // {Name: 'cScherkSurface', Actual: shp.cScherkSurface, Expected: 'ScherkSurface'}, // {Name: 'cSchwarzMinimalSurface', Actual: shp.cSchwarzMinimalSurface, Expected: 'SchwarzMinimalSurface'}, // {Name: 'cTriplyPeriodicMinimalSurface', Actual: shp.cTriplyPeriodicMinimalSurface, Expected: 'TriplyPeriodicMinimalSurface'}, // // // Non-Orientable Surfaces // {Name: 'cKleinBottle', Actual: shp.cKleinBottle, Expected: 'KleinBottle'}, // {Name: 'cRealProjectivePlane', Actual: shp.cRealProjectivePlane, Expected: 'RealProjectivePlane'}, // {Name: 'cCrossCap', Actual: shp.cCrossCap, Expected: 'CrossCap'}, // {Name: 'cRomanSurface', Actual: shp.cRomanSurface, Expected: 'RomanSurface'}, // {Name: 'cBoysSurface', Actual: shp.cBoysSurface, Expected: 'BoysSurface'}, // // // Quadrics // {Name: 'cOblateSpheroid', Actual: shp.cOblateSpheroid, Expected: 'OblateSpheroid'}, // {Name: 'cHyperboloidOfOneSheet', Actual: shp.cHyperboloidOfOneSheet, Expected: 'HyperboloidOfOneSheet'}, // {Name: 'cHyperboloidOfTwoSheets', Actual: shp.cHyperboloidOfTwoSheets, Expected: 'HyperboloidOfTwoSheets'}, // {Name: 'cHyperbolicParaboloid', Actual: shp.cHyperbolicParaboloid, Expected: 'HyperbolicParaboloid'}, // {Name: 'cSphericon', Actual: shp.cSphericon, Expected: 'Sphericon'}, // {Name: 'cOloid', Actual: shp.cOloid, Expected: 'Oloid'}, // // // Pseudospherical Surfaces // {Name: 'cDinisSurface', Actual: shp.cDinisSurface, Expected: 'DinisSurface'}, // {Name: 'cPseudosphere', Actual: shp.cPseudosphere, Expected: 'Pseudosphere'}, // // // Algebraic Surfaces // {Name: 'cCayleyCubic', Actual: shp.cCayleyCubic, Expected: 'CayleyCubic'}, // {Name: 'cBarthSextic', Actual: shp.cBarthSextic, Expected: 'BarthSextic'}, // {Name: 'cClebschCubic', Actual: shp.cClebschCubic, Expected: 'ClebschCubic'}, // {Name: 'cMonkeySaddle', Actual: shp.cMonkeySaddle, Expected: 'MonkeySaddle'}, // {Name: 'cDupinCyclide', Actual: shp.cDupinCyclide, Expected: 'DupinCyclide'}, // {Name: 'cWhitneyUmbrella', Actual: shp.cWhitneyUmbrella, Expected: 'WhitneyUmbrella'}, // // // Miscellaneous Surfaces // {Name: 'cRightConoid', Actual: shp.cRightConoid, Expected: 'RightConoid'}, // // // Fractals // {Name: 'cApollonianGasket', Actual: shp.cApollonianGasket, Expected: 'ApollonianGasket'}, // {Name: 'cApollonianSpherePacking', Actual: shp.cApollonianSpherePacking, Expected: 'ApollonianSpherePacking'}, // {Name: 'cBlancmangeCurve', Actual: shp.cBlancmangeCurve, Expected: 'BlancmangeCurve'}, // {Name: 'cCantorDust', Actual: shp.cCantorDust, Expected: 'CantorDust'}, // {Name: 'cCantorSet', Actual: shp.cCantorSet, Expected: 'CantorSet'}, // {Name: 'cCantorTesseract', Actual: shp.cCantorTesseract, Expected: 'CantorTesseract'}, // {Name: 'cCircleInversionFractal', Actual: shp.cCircleInversionFractal, Expected: 'CircleInversionFractal'}, // {Name: 'cDeRhamCurve', Actual: shp.cDeRhamCurve, Expected: 'DeRhamCurve'}, // {Name: 'cDouadyRabbit', Actual: shp.cDouadyRabbit, Expected: 'DouadyRabbit'}, // {Name: 'cDragonCurve', Actual: shp.cDragonCurve, Expected: 'DragonCurve'}, // {Name: 'cFibonacciWordFractal', Actual: shp.cFibonacciWordFractal, Expected: 'FibonacciWordFractal'}, // {Name: 'cFlameFractal', Actual: shp.cFlameFractal, Expected: 'FlameFractal'}, // {Name: 'cFractalCurve', Actual: shp.cFractalCurve, Expected: 'FractalCurve'}, // {Name: 'cGosperCurve', Actual: shp.cGosperCurve, Expected: 'GosperCurve'}, // {Name: 'cGosperIsland', Actual: shp.cGosperIsland, Expected: 'GosperIsland'}, // {Name: 'cHFractal', Actual: shp.cHFractal, Expected: 'HFractal'}, // {Name: 'cHenonMap', Actual: shp.cHenonMap, Expected: 'HenonMap'}, // {Name: 'cHexaflake', Actual: shp.cHexaflake, Expected: 'Hexaflake'}, // {Name: 'cHilbertCurve', Actual: shp.cHilbertCurve, Expected: 'HilbertCurve'}, // {Name: 'cIkedaMapAttractor', Actual: shp.cIkedaMapAttractor, Expected: 'IkedaMapAttractor'}, // {Name: 'cIteratedFunctionSystem', Actual: shp.cIteratedFunctionSystem, Expected: 'IteratedFunctionSystem'}, // {Name: 'cJerusalemCube', Actual: shp.cJerusalemCube, Expected: 'JerusalemCube'}, // {Name: 'cJuliaSet', Actual: shp.cJuliaSet, Expected: 'JuliaSet'}, // {Name: 'cKochCurve', Actual: shp.cKochCurve, Expected: 'KochCurve'}, // {Name: 'cKochSnowflake', Actual: shp.cKochSnowflake, Expected: 'KochSnowflake'}, // {Name: 'cLSystem', Actual: shp.cLSystem, Expected: 'LSystem'}, // {Name: 'cLevyCCurve', Actual: shp.cLevyCCurve, Expected: 'LevyCCurve'}, // {Name: 'cFeigenbaumAttractor', Actual: shp.cFeigenbaumAttractor, Expected: 'FeigenbaumAttractor'}, // {Name: 'cLorenzAttractor', Actual: shp.cLorenzAttractor, Expected: 'LorenzAttractor'}, // {Name: 'cLyapunovFractal', Actual: shp.cLyapunovFractal, Expected: 'LyapunovFractal'}, // {Name: 'cMandelbrotSet', Actual: shp.cMandelbrotSet, Expected: 'MandelbrotSet'}, // {Name: 'cMandelbrotTree', Actual: shp.cMandelbrotTree, Expected: 'MandelbrotTree'}, // {Name: 'cMandelbulb', Actual: shp.cMandelbulb, Expected: 'Mandelbulb'}, // {Name: 'cMengerSponge', Actual: shp.cMengerSponge, Expected: 'MengerSponge'}, // {Name: 'cMonkeysTree', Actual: shp.cMonkeysTree, Expected: 'MonkeysTree'}, // {Name: 'cMooreCurve', Actual: shp.cMooreCurve, Expected: 'MooreCurve'}, // {Name: 'cNFlake', Actual: shp.cNFlake, Expected: 'NFlake'}, // {Name: 'cPascalTriangle', Actual: shp.cPascalTriangle, Expected: 'PascalTriangle'}, // {Name: 'cPeanoCurve', Actual: shp.cPeanoCurve, Expected: 'PeanoCurve'}, // {Name: 'cPenroseTiling', Actual: shp.cPenroseTiling, Expected: 'PenroseTiling'}, // {Name: 'cPinwheelTiling', Actual: shp.cPinwheelTiling, Expected: 'PinwheelTiling'}, // {Name: 'cPythagorasTree', Actual: shp.cPythagorasTree, Expected: 'PythagorasTree'}, // {Name: 'cRauzyFractal', Actual: shp.cRauzyFractal, Expected: 'RauzyFractal'}, // {Name: 'cRosslerAttractor', Actual: shp.cRosslerAttractor, Expected: 'RosslerAttractor'}, // {Name: 'cSierpinskiArrowheadCurve', Actual: shp.cSierpinskiArrowheadCurve, Expected: 'SierpinskiArrowheadCurve'}, // {Name: 'cSierpinskiCarpet', Actual: shp.cSierpinskiCarpet, Expected: 'SierpinskiCarpet'}, // {Name: 'cSierpinskiCurve', Actual: shp.cSierpinskiCurve, Expected: 'SierpinskiCurve'}, // {Name: 'cSierpinskiTriangle', Actual: shp.cSierpinskiTriangle, Expected: 'SierpinskiTriangle'}, // {Name: 'cSmithVolterraCantorSet', Actual: shp.cSmithVolterraCantorSet, Expected: 'SmithVolterraCantorSet'}, // {Name: 'cTSquare', Actual: shp.cTSquare, Expected: 'TSquare'}, // {Name: 'cTakagiCurve', Actual: shp.cTakagiCurve, Expected: 'TakagiCurve'}, // {Name: 'cTriflake', Actual: shp.cTriflake, Expected: 'Triflake'}, // {Name: 'cVicsekFractal', Actual: shp.cVicsekFractal, Expected: 'VicsekFractal'}, // {Name: 'cVonKochCurve', Actual: shp.cVonKochCurve, Expected: 'VonKochCurve'}, // {Name: 'cWeierstrassFunction', Actual: shp.cWeierstrassFunction, Expected: 'WeierstrassFunction'}, // {Name: 'cZOrderCurve', Actual: shp.cZOrderCurve, Expected: 'ZOrderCurve'}, // // // Random Fractals // {Name: 'cVonKochCurveWithRandomInterval', Actual: shp.cVonKochCurveWithRandomInterval, Expected: 'VonKochCurveWithRandomInterval'}, // {Name: 'cVonKochCurveWithRandomOrientation', Actual: shp.cVonKochCurveWithRandomOrientation, Expected: 'VonKochCurveWithRandomOrientation'}, // {Name: 'cBoundaryOfBrownianMotion', Actual: shp.cBoundaryOfBrownianMotion, Expected: 'BoundaryOfBrownianMotion'}, // {Name: 'c2DPolymer', Actual: shp.c2DPolymer, Expected: '2DPolymer'}, // {Name: 'cPercolationFrontIn2D', Actual: shp.cPercolationFrontIn2D, Expected: 'PercolationFrontIn2D'}, // {Name: 'cCorrosionFrontIn2D', Actual: shp.cCorrosionFrontIn2D, Expected: 'CorrosionFrontIn2D'}, // {Name: 'cDiffusionLimitedAggregation', Actual: shp.cDiffusionLimitedAggregation, Expected: 'DiffusionLimitedAggregation'}, // {Name: 'cRandomWalkWithNoSelfIntersection', Actual: shp.cRandomWalkWithNoSelfIntersection, Expected: 'RandomWalkWithNoSelfIntersection'}, // {Name: 'c3DPolymer', Actual: shp.c3DPolymer, Expected: '3DPolymer'}, // {Name: 'c2DPercolationClusterHull', Actual: shp.c2DPercolationClusterHull, Expected: '2DPercolationClusterHull'}, // {Name: 'c2DPercolationCluster', Actual: shp.c2DPercolationCluster, Expected: '2DPercolationCluster'}, // {Name: 'cBrownianMotion', Actual: shp.cBrownianMotion, Expected: 'BrownianMotion'}, // {Name: 'cLichtenbergFigure', Actual: shp.cLichtenbergFigure, Expected: 'LichtenbergFigure'}, // {Name: 'cPercolationTheory', Actual: shp.cPercolationTheory, Expected: 'PercolationTheory'}, // {Name: 'cMultiplicativeCascade', Actual: shp.cMultiplicativeCascade, Expected: 'MultiplicativeCascade'}, // // // 2D Regular Polytopes // {Name: 'cPolygon', Actual: shp.cPolygon, Expected: 'Polygon'}, // {Name: 'cEquilateral', Actual: shp.cEquilateral, Expected: 'Equilateral'}, // {Name: 'cCyclicPolygon', Actual: shp.cCyclicPolygon, Expected: 'CyclicPolygon'}, // {Name: 'cConvexPolygon', Actual: shp.cConvexPolygon, Expected: 'ConvexPolygon'}, // {Name: 'cStarPolygon', Actual: shp.cStarPolygon, Expected: 'StarPolygon'}, // {Name: 'cPentagram', Actual: shp.cPentagram, Expected: 'Pentagram'}, // // // 2D Convex Polytopes // {Name: 'cRegularPolygon', Actual: shp.cRegularPolygon, Expected: 'RegularPolygon'}, // {Name: 'cEquilateralTriangle', Actual: shp.cEquilateralTriangle, Expected: 'EquilateralTriangle'}, // {Name: 'cSimplex', Actual: shp.cSimplex, Expected: 'Simplex'}, // {Name: 'cCrossPolytope', Actual: shp.cCrossPolytope, Expected: 'CrossPolytope'}, // {Name: 'cHypercube', Actual: shp.cHypercube, Expected: 'Hypercube'}, // {Name: 'cPentagon', Actual: shp.cPentagon, Expected: 'Pentagon'}, // {Name: 'cEnneagon', Actual: shp.cEnneagon, Expected: 'Enneagon'}, // {Name: 'cDecagon', Actual: shp.cDecagon, Expected: 'Decagon'}, // {Name: 'cHendecagon', Actual: shp.cHendecagon, Expected: 'Hendecagon'}, // {Name: 'cDodecagon', Actual: shp.cDodecagon, Expected: 'Dodecagon'}, // {Name: 'cTridecagon', Actual: shp.cTridecagon, Expected: 'Tridecagon'}, // {Name: 'cTetradecagon', Actual: shp.cTetradecagon, Expected: 'Tetradecagon'}, // {Name: 'cPentadecagon', Actual: shp.cPentadecagon, Expected: 'Pentadecagon'}, // {Name: 'cHexadecagon', Actual: shp.cHexadecagon, Expected: 'Hexadecagon'}, // {Name: 'cHeptadecagon', Actual: shp.cHeptadecagon, Expected: 'Heptadecagon'}, // {Name: 'cOctadecagon', Actual: shp.cOctadecagon, Expected: 'Octadecagon'}, // {Name: 'cEnneadecagon', Actual: shp.cEnneadecagon, Expected: 'Enneadecagon'}, // {Name: 'cIcosagon', Actual: shp.cIcosagon, Expected: 'Icosagon'}, // {Name: 'cHectogon', Actual: shp.cHectogon, Expected: 'Hectogon'}, // {Name: 'cChiliagon', Actual: shp.cChiliagon, Expected: 'Chiliagon'}, // // // 2D Degenerate Spherical Polytopes // {Name: 'cMonogon', Actual: shp.cMonogon, Expected: 'Monogon'}, // {Name: 'cDigon', Actual: shp.cDigon, Expected: 'Digon'}, // // // 2D Non-Convex Polytopes // {Name: 'cHeptagram', Actual: shp.cHeptagram, Expected: 'Heptagram'}, // {Name: 'cOctagram', Actual: shp.cOctagram, Expected: 'Octagram'}, // {Name: 'cEnneagram', Actual: shp.cEnneagram, Expected: 'Enneagram'}, // {Name: 'cDecagram', Actual: shp.cDecagram, Expected: 'Decagram'}, // // // 2D Tessellation Polytopes // {Name: 'cApeirogon', Actual: shp.cApeirogon, Expected: 'Apeirogon'}, // // // 3D Regular Polytopes // {Name: 'cPolyhedron', Actual: shp.cPolyhedron, Expected: 'Polyhedron'}, // // // 3D Convex Polytopes // {Name: 'cPlatonicSolid', Actual: shp.cPlatonicSolid, Expected: 'PlatonicSolid'}, // {Name: 'cTetrahedron', Actual: shp.cTetrahedron, Expected: 'Tetrahedron'}, // {Name: 'cOctahedron', Actual: shp.cOctahedron, Expected: 'Octahedron'}, // {Name: 'cDodecahedron', Actual: shp.cDodecahedron, Expected: 'Dodecahedron'}, // {Name: 'cIcosahedron', Actual: shp.cIcosahedron, Expected: 'Icosahedron'}, // // // 3D Degenerate Spherical Polytopes // {Name: 'cHosohedron', Actual: shp.cHosohedron, Expected: 'Hosohedron'}, // {Name: 'cDihedron', Actual: shp.cDihedron, Expected: 'Dihedron'}, // {Name: 'cHenagon', Actual: shp.cHenagon, Expected: 'Henagon'}, // // // 3D Non-Convex Polytopes // {Name: 'cKeplerPoinsotPolyhedra', Actual: shp.cKeplerPoinsotPolyhedra, Expected: 'KeplerPoinsotPolyhedra'}, // {Name: 'cSmallStellatedDodecahedron', Actual: shp.cSmallStellatedDodecahedron, Expected: 'SmallStellatedDodecahedron'}, // {Name: 'cGreatDodecahedron', Actual: shp.cGreatDodecahedron, Expected: 'GreatDodecahedron'}, // {Name: 'cGreatStellatedDodecahedron', Actual: shp.cGreatStellatedDodecahedron, Expected: 'GreatStellatedDodecahedron'}, // {Name: 'cGreatIcosahedron', Actual: shp.cGreatIcosahedron, Expected: 'GreatIcosahedron'}, // // // Euclidean Tilings // {Name: 'cSquareTiling', Actual: shp.cSquareTiling, Expected: 'SquareTiling'}, // {Name: 'cGrid', Actual: shp.cGrid, Expected: 'Grid'}, // {Name: 'cTriangularTiling', Actual: shp.cTriangularTiling, Expected: 'TriangularTiling'}, // {Name: 'cHexagonalTiling', Actual: shp.cHexagonalTiling, Expected: 'HexagonalTiling'}, // // // Hyperbolic Tilings // {Name: 'cLobachevskiPlane', Actual: shp.cLobachevskiPlane, Expected: 'LobachevskiPlane'}, // {Name: 'cHyperbolicTiling', Actual: shp.cHyperbolicTiling, Expected: 'HyperbolicTiling'}, // // // Hyperbolic Star-Tilings // {Name: 'cOrder7HeptagrammicTiling', Actual: shp.cOrder7HeptagrammicTiling, Expected: 'Order7HeptagrammicTiling'}, // {Name: 'cHeptagrammicOrderHeptagonalTiling', Actual: shp.cHeptagrammicOrderHeptagonalTiling, Expected: 'HeptagrammicOrderHeptagonalTiling'}, // {Name: 'cOrder9EnneagrammicTiling', Actual: shp.cOrder9EnneagrammicTiling, Expected: 'Order9EnneagrammicTiling'}, // {Name: 'cEnneagrammicOrderEnneagonalTiling', Actual: shp.cEnneagrammicOrderEnneagonalTiling, Expected: 'EnneagrammicOrderEnneagonalTiling'}, // // // 4D Regular Polytopes // {Name: 'c4DSpaceSimplex', Actual: shp.c4DSpaceSimplex, Expected: '4DSpaceSimplex'}, // {Name: 'c4DHypercube', Actual: shp.c4DHypercube, Expected: '4DHypercube'}, // {Name: 'c4DCrossPolytope', Actual: shp.c4DCrossPolytope, Expected: '4DCrossPolytope'}, // {Name: 'c24Cell', Actual: shp.c24Cell, Expected: '24Cell'}, // {Name: 'c120Cell', Actual: shp.c120Cell, Expected: '120Cell'}, // {Name: 'c600Cell', Actual: shp.c600Cell, Expected: '600Cell'}, // // // 4D Degenerate Spherical Polytopes // {Name: 'cDitope', Actual: shp.cDitope, Expected: 'Ditope'}, // {Name: 'cHosotope', Actual: shp.cHosotope, Expected: 'Hosotope'}, // {Name: 'c3Sphere', Actual: shp.c3Sphere, Expected: '3Sphere'}, // {Name: 'cHyperSphere', Actual: shp.cHyperSphere, Expected: 'HyperSphere'}, // // // 4D Non-Convex Polytopes // {Name: 'cIcosahedral120Cell', Actual: shp.cIcosahedral120Cell, Expected: 'Icosahedral120Cell'}, // {Name: 'cSmallStellated120Cell', Actual: shp.cSmallStellated120Cell, Expected: 'SmallStellated120Cell'}, // {Name: 'cGreat120Cell', Actual: shp.cGreat120Cell, Expected: 'Great120Cell'}, // {Name: 'cGrand120Cell', Actual: shp.cGrand120Cell, Expected: 'Grand120Cell'}, // {Name: 'cGreatStellated120Cell', Actual: shp.cGreatStellated120Cell, Expected: 'GreatStellated120Cell'}, // {Name: 'cGrandStellated120Cell', Actual: shp.cGrandStellated120Cell, Expected: 'GrandStellated120Cell'}, // {Name: 'cGreatGrand120Cell', Actual: shp.cGreatGrand120Cell, Expected: 'GreatGrand120Cell'}, // {Name: 'cGreatIcosahedral120Cell', Actual: shp.cGreatIcosahedral120Cell, Expected: 'GreatIcosahedral120Cell'}, // {Name: 'cGrand600Cell', Actual: shp.cGrand600Cell, Expected: 'Grand600Cell'}, // {Name: 'cGreatGrandStellated120Cell', Actual: shp.cGreatGrandStellated120Cell, Expected: 'GreatGrandStellated120Cell'}, // // // Tessellations of Euclidean 3D // {Name: 'cHoneycomb', Actual: shp.cHoneycomb, Expected: 'Honeycomb'}, // {Name: 'cCubicHoneycomb', Actual: shp.cCubicHoneycomb, Expected: 'CubicHoneycomb'}, // // // Degenerate tessellations of Euclidean 3D // {Name: 'cOrder2ApeirogonalTiling', Actual: shp.cOrder2ApeirogonalTiling, Expected: 'Order2ApeirogonalTiling'}, // {Name: 'cApeirogonalHosohedron', Actual: shp.cApeirogonalHosohedron, Expected: 'ApeirogonalHosohedron'}, // {Name: 'cOrder4SquareHosohedralHoneycomb', Actual: shp.cOrder4SquareHosohedralHoneycomb, Expected: 'Order4SquareHosohedralHoneycomb'}, // {Name: 'cOrder6TriangularHosohedralHoneycomb', Actual: shp.cOrder6TriangularHosohedralHoneycomb, Expected: 'Order6TriangularHosohedralHoneycomb'}, // {Name: 'cHexagonalHosohedralHoneycomb', Actual: shp.cHexagonalHosohedralHoneycomb, Expected: 'HexagonalHosohedralHoneycomb'}, // {Name: 'cOrder2SquareTilingHoneycomb', Actual: shp.cOrder2SquareTilingHoneycomb, Expected: 'Order2SquareTilingHoneycomb'}, // {Name: 'cOrder2TriangularTilingHoneycomb', Actual: shp.cOrder2TriangularTilingHoneycomb, Expected: 'Order2TriangularTilingHoneycomb'}, // {Name: 'cOrder2HexagonalTilingHoneycomb', Actual: shp.cOrder2HexagonalTilingHoneycomb, Expected: 'Order2HexagonalTilingHoneycomb'}, // // // Tessellations of Hyperbolic 3D // {Name: 'cOrder4DodecahedralHoneycomb', Actual: shp.cOrder4DodecahedralHoneycomb, Expected: 'Order4DodecahedralHoneycomb'}, // {Name: 'cOrder5DodecahedralHoneycomb', Actual: shp.cOrder5DodecahedralHoneycomb, Expected: 'Order5DodecahedralHoneycomb'}, // {Name: 'cOrder5CubicHoneycomb', Actual: shp.cOrder5CubicHoneycomb, Expected: 'Order5CubicHoneycomb'}, // {Name: 'cIcosahedralHoneycomb', Actual: shp.cIcosahedralHoneycomb, Expected: 'IcosahedralHoneycomb'}, // {Name: 'cOrder3IcosahedralHoneycomb', Actual: shp.cOrder3IcosahedralHoneycomb, Expected: 'Order3IcosahedralHoneycomb'}, // {Name: 'cOrder4OctahedralHoneycomb', Actual: shp.cOrder4OctahedralHoneycomb, Expected: 'Order4OctahedralHoneycomb'}, // {Name: 'cTriangularTilingHoneycomb', Actual: shp.cTriangularTilingHoneycomb, Expected: 'TriangularTilingHoneycomb'}, // {Name: 'cSquareTilingHoneycomb', Actual: shp.cSquareTilingHoneycomb, Expected: 'SquareTilingHoneycomb'}, // {Name: 'cOrder4SquareTilingHoneycomb', Actual: shp.cOrder4SquareTilingHoneycomb, Expected: 'Order4SquareTilingHoneycomb'}, // {Name: 'cOrder6TetrahedralHoneycomb', Actual: shp.cOrder6TetrahedralHoneycomb, Expected: 'Order6TetrahedralHoneycomb'}, // {Name: 'cOrder6CubicHoneycomb', Actual: shp.cOrder6CubicHoneycomb, Expected: 'Order6CubicHoneycomb'}, // {Name: 'cOrder6DodecahedralHoneycomb', Actual: shp.cOrder6DodecahedralHoneycomb, Expected: 'Order6DodecahedralHoneycomb'}, // {Name: 'cHexagonalTilingHoneycomb', Actual: shp.cHexagonalTilingHoneycomb, Expected: 'HexagonalTilingHoneycomb'}, // {Name: 'cOrder4HexagonalTilingHoneycomb', Actual: shp.cOrder4HexagonalTilingHoneycomb, Expected: 'Order4HexagonalTilingHoneycomb'}, // {Name: 'cOrder5HexagonalTilingHoneycomb', Actual: shp.cOrder5HexagonalTilingHoneycomb, Expected: 'Order5HexagonalTilingHoneycomb'}, // {Name: 'cOrder6HexagonalTilingHoneycomb', Actual: shp.cOrder6HexagonalTilingHoneycomb, Expected: 'Order6HexagonalTilingHoneycomb'}, // // // 5D Regular Polytopes and Higher // {Name: 'c5Polytope', Actual: shp.c5Polytope, Expected: '5Polytope'}, // {Name: 'cTetracomb', Actual: shp.cTetracomb, Expected: 'Tetracomb'}, // {Name: 'cSimplexHypercubeCrossPolytope', Actual: shp.cSimplexHypercubeCrossPolytope, Expected: 'SimplexHypercubeCrossPolytope'}, // {Name: 'c5Simplex', Actual: shp.c5Simplex, Expected: '5Simplex'}, // {Name: 'c5Cube', Actual: shp.c5Cube, Expected: '5Cube'}, // {Name: 'c5Orthoplex', Actual: shp.c5Orthoplex, Expected: '5Orthoplex'}, // {Name: 'c6Simplex', Actual: shp.c6Simplex, Expected: '6Simplex'}, // {Name: 'c6Cube', Actual: shp.c6Cube, Expected: '6Cube'}, // {Name: 'c6Orthoplex', Actual: shp.c6Orthoplex, Expected: '6Orthoplex'}, // {Name: 'c7Simplex', Actual: shp.c7Simplex, Expected: '7Simplex'}, // {Name: 'c7Cube', Actual: shp.c7Cube, Expected: '7Cube'}, // {Name: 'c7Orthoplex', Actual: shp.c7Orthoplex, Expected: '7Orthoplex'}, // {Name: 'c8Simplex', Actual: shp.c8Simplex, Expected: '8Simplex'}, // {Name: 'c8Cube', Actual: shp.c8Cube, Expected: '8Cube'}, // {Name: 'c8Orthoplex', Actual: shp.c8Orthoplex, Expected: '8Orthoplex'}, // {Name: 'c9Simplex', Actual: shp.c9Simplex, Expected: '9Simplex'}, // {Name: 'c9Cube', Actual: shp.c9Cube, Expected: '9Cube'}, // {Name: 'c9Orthoplex', Actual: shp.c9Orthoplex, Expected: '9Orthoplex'}, // {Name: 'c10Simplex', Actual: shp.c10Simplex, Expected: '10Simplex'}, // {Name: 'c10Cube', Actual: shp.c10Cube, Expected: '10Cube'}, // {Name: 'c10Orthoplex', Actual: shp.c10Orthoplex, Expected: '10Orthoplex'}, // {Name: 'c11Simplex', Actual: shp.c11Simplex, Expected: '11Simplex'}, // {Name: 'c11Cube', Actual: shp.c11Cube, Expected: '11Cube'}, // {Name: 'c11Orthoplex', Actual: shp.c11Orthoplex, Expected: '11Orthoplex'}, // // // Tessellations of Euclidean 4D // {Name: 'cHoneycombs', Actual: shp.cHoneycombs, Expected: 'Honeycombs'}, // {Name: 'cTesseracticHoneycomb', Actual: shp.cTesseracticHoneycomb, Expected: 'TesseracticHoneycomb'}, // {Name: 'c16CellHoneycomb', Actual: shp.c16CellHoneycomb, Expected: '16CellHoneycomb'}, // {Name: 'c24CellHoneycomb', Actual: shp.c24CellHoneycomb, Expected: '24CellHoneycomb'}, // // // Tessellations of Euclidean 5D and Higher // {Name: 'cHypercubicHoneycomb', Actual: shp.cHypercubicHoneycomb, Expected: 'HypercubicHoneycomb'}, // {Name: 'c5CubeHoneycomb', Actual: shp.c5CubeHoneycomb, Expected: '5CubeHoneycomb'}, // {Name: 'c6CubeHoneycomb', Actual: shp.c6CubeHoneycomb, Expected: '6CubeHoneycomb'}, // {Name: 'c7CubeHoneycomb', Actual: shp.c7CubeHoneycomb, Expected: '7CubeHoneycomb'}, // {Name: 'c8CubeHoneycomb', Actual: shp.c8CubeHoneycomb, Expected: '8CubeHoneycomb'}, // // // Tessellations of Hyperbolic 4D // {Name: 'cOrder5_5CellHoneycomb', Actual: shp.cOrder5_5CellHoneycomb, Expected: 'Order5_5CellHoneycomb'}, // {Name: 'c120CellHoneycomb', Actual: shp.c120CellHoneycomb, Expected: '120CellHoneycomb'}, // {Name: 'cOrder5TesseracticHoneycomb', Actual: shp.cOrder5TesseracticHoneycomb, Expected: 'Order5TesseracticHoneycomb'}, // {Name: 'cOrder4_120CellHoneycomb', Actual: shp.cOrder4_120CellHoneycomb, Expected: 'Order4_120CellHoneycomb'}, // {Name: 'cOrder5_120CellHoneycomb', Actual: shp.cOrder5_120CellHoneycomb, Expected: 'Order5_120CellHoneycomb'}, // {Name: 'cOrder4_24CellHoneycomb', Actual: shp.cOrder4_24CellHoneycomb, Expected: 'Order4_24CellHoneycomb'}, // {Name: 'cSmallStellated120CellHoneycomb', Actual: shp.cSmallStellated120CellHoneycomb, Expected: 'SmallStellated120CellHoneycomb'}, // {Name: 'cPentagrammicOrder600CellHoneycomb', Actual: shp.cPentagrammicOrder600CellHoneycomb, Expected: 'PentagrammicOrder600CellHoneycomb'}, // {Name: 'cOrder5Icosahedral120CellHoneycomb', Actual: shp.cOrder5Icosahedral120CellHoneycomb, Expected: 'Order5Icosahedral120CellHoneycomb'}, // {Name: 'cGreat120CellHoneycomb', Actual: shp.cGreat120CellHoneycomb, Expected: 'Great120CellHoneycomb'}, // // // Tessellations of Hyperbolic 5D // {Name: 'c5OrthoplexHoneycomb', Actual: shp.c5OrthoplexHoneycomb, Expected: '5OrthoplexHoneycomb'}, // {Name: 'c24CellHoneycombHoneycomb', Actual: shp.c24CellHoneycombHoneycomb, Expected: '24CellHoneycombHoneycomb'}, // {Name: 'c16CellHoneycombHoneycomb', Actual: shp.c16CellHoneycombHoneycomb, Expected: '16CellHoneycombHoneycomb'}, // // // Apeirotopes // {Name: 'cApeirotope', Actual: shp.cApeirotope, Expected: 'Apeirotope'}, // {Name: 'cApeirohedron', Actual: shp.cApeirohedron, Expected: 'Apeirohedron'}, // {Name: 'cRegularSkewPolyhedron', Actual: shp.cRegularSkewPolyhedron, Expected: 'RegularSkewPolyhedron'}, // // // Abstract Polytopes // {Name: 'cAbstractPolytope', Actual: shp.cAbstractPolytope, Expected: 'AbstractPolytope'}, // {Name: 'c11Cell', Actual: shp.c11Cell, Expected: '11Cell'}, // {Name: 'c57Cell', Actual: shp.c57Cell, Expected: '57Cell'}, // // // 2D with 1D Surface // {Name: 'cConcavePolygon', Actual: shp.cConcavePolygon, Expected: 'ConcavePolygon'}, // {Name: 'cConstructiblePolygon', Actual: shp.cConstructiblePolygon, Expected: 'ConstructiblePolygon'}, // {Name: 'cEquiangularPolygon', Actual: shp.cEquiangularPolygon, Expected: 'EquiangularPolygon'}, // {Name: 'cEquilateralPolygon', Actual: shp.cEquilateralPolygon, Expected: 'EquilateralPolygon'}, // {Name: 'cPenroseTile', Actual: shp.cPenroseTile, Expected: 'PenroseTile'}, // {Name: 'cPolyform', Actual: shp.cPolyform, Expected: 'Polyform'}, // {Name: 'cBalbis', Actual: shp.cBalbis, Expected: 'Balbis'}, // {Name: 'cGnomon', Actual: shp.cGnomon, Expected: 'Gnomon'}, // {Name: 'cGolygon', Actual: shp.cGolygon, Expected: 'Golygon'}, // {Name: 'cStar', Actual: shp.cStar, Expected: 'Star'}, // {Name: 'cHexagram', Actual: shp.cHexagram, Expected: 'Hexagram'}, // {Name: 'cStarOfDavid', Actual: shp.cStarOfDavid, Expected: 'StarOfDavid'}, // {Name: 'cStarOfLakshmi', Actual: shp.cStarOfLakshmi, Expected: 'StarOfLakshmi'}, // // // Polygons named for their number of sides // {Name: 'cAcuteTriangle', Actual: shp.cAcuteTriangle, Expected: 'AcuteTriangle'}, // {Name: 'cIsoscelesTriangle', Actual: shp.cIsoscelesTriangle, Expected: 'IsoscelesTriangle'}, // {Name: 'cObtuseTriangle', Actual: shp.cObtuseTriangle, Expected: 'ObtuseTriangle'}, // {Name: 'cRationalTriangle', Actual: shp.cRationalTriangle, Expected: 'RationalTriangle'}, // {Name: 'cRightTriangle', Actual: shp.cRightTriangle, Expected: 'RightTriangle'}, // {Name: 'c30_60_90Triangle', Actual: shp.c30_60_90Triangle, Expected: '30_60_90Triangle'}, // {Name: 'cIsoscelesRightTriangle', Actual: shp.cIsoscelesRightTriangle, Expected: 'IsoscelesRightTriangle'}, // {Name: 'cKeplerTriangle', Actual: shp.cKeplerTriangle, Expected: 'KeplerTriangle'}, // {Name: 'cScaleneTriangle', Actual: shp.cScaleneTriangle, Expected: 'ScaleneTriangle'}, // {Name: 'cQuadrilateral', Actual: shp.cQuadrilateral, Expected: 'Quadrilateral'}, // {Name: 'cCyclicQuadrilateral', Actual: shp.cCyclicQuadrilateral, Expected: 'CyclicQuadrilateral'}, // {Name: 'cKite', Actual: shp.cKite, Expected: 'Kite'}, // {Name: 'cParallelogram', Actual: shp.cParallelogram, Expected: 'Parallelogram'}, // {Name: 'cRhombus', Actual: shp.cRhombus, Expected: 'Rhombus'}, // {Name: 'cEquilateralParallelogram', Actual: shp.cEquilateralParallelogram, Expected: 'EquilateralParallelogram'}, // {Name: 'cLozenge', Actual: shp.cLozenge, Expected: 'Lozenge'}, // {Name: 'cRhomboid', Actual: shp.cRhomboid, Expected: 'Rhomboid'}, // {Name: 'cTangentialQuadrilateral', Actual: shp.cTangentialQuadrilateral, Expected: 'TangentialQuadrilateral'}, // {Name: 'cTrapezium', Actual: shp.cTrapezium, Expected: 'Trapezium'}, // {Name: 'cIsoscelesTrapezoid', Actual: shp.cIsoscelesTrapezoid, Expected: 'IsoscelesTrapezoid'}, // {Name: 'cRegularPentagon', Actual: shp.cRegularPentagon, Expected: 'RegularPentagon'}, // {Name: 'cLemoineHexagon', Actual: shp.cLemoineHexagon, Expected: 'LemoineHexagon'}, // {Name: 'cRegularOctagon', Actual: shp.cRegularOctagon, Expected: 'RegularOctagon'}, // {Name: 'cRegularDecagon', Actual: shp.cRegularDecagon, Expected: 'RegularDecagon'}, // {Name: 'cTriskaidecagon', Actual: shp.cTriskaidecagon, Expected: 'Triskaidecagon'}, // {Name: 'cTriacontagon', Actual: shp.cTriacontagon, Expected: 'Triacontagon'}, // {Name: 'cTetracontagon', Actual: shp.cTetracontagon, Expected: 'Tetracontagon'}, // {Name: 'cPentacontagon', Actual: shp.cPentacontagon, Expected: 'Pentacontagon'}, // {Name: 'cHexacontagon', Actual: shp.cHexacontagon, Expected: 'Hexacontagon'}, // {Name: 'cHeptacontagon', Actual: shp.cHeptacontagon, Expected: 'Heptacontagon'}, // {Name: 'cOctacontagon', Actual: shp.cOctacontagon, Expected: 'Octacontagon'}, // {Name: 'cEnneacontagon', Actual: shp.cEnneacontagon, Expected: 'Enneacontagon'}, // {Name: 'c257Gon', Actual: shp.c257Gon, Expected: '257Gon'}, // {Name: 'cMyriagon', Actual: shp.cMyriagon, Expected: 'Myriagon'}, // {Name: 'c65537Gon', Actual: shp.c65537Gon, Expected: '65537Gon'}, // {Name: 'cMegagon', Actual: shp.cMegagon, Expected: 'Megagon'}, // // // Tilings // {Name: 'cArchimedeanTiling', Actual: shp.cArchimedeanTiling, Expected: 'ArchimedeanTiling'}, // {Name: 'cTruncatedSquareTiling', Actual: shp.cTruncatedSquareTiling, Expected: 'TruncatedSquareTiling'}, // {Name: 'cSnubSquareTiling', Actual: shp.cSnubSquareTiling, Expected: 'SnubSquareTiling'}, // {Name: 'cTrihexagonalTiling', Actual: shp.cTrihexagonalTiling, Expected: 'TrihexagonalTiling'}, // {Name: 'cTruncatedHexagonalTiling', Actual: shp.cTruncatedHexagonalTiling, Expected: 'TruncatedHexagonalTiling'}, // {Name: 'cRhombitriHexagonalTiling', Actual: shp.cRhombitriHexagonalTiling, Expected: 'RhombitriHexagonalTiling'}, // {Name: 'cTruncatedTriHexagonalTiling', Actual: shp.cTruncatedTriHexagonalTiling, Expected: 'TruncatedTriHexagonalTiling'}, // {Name: 'cSnubHexagonalTiling', Actual: shp.cSnubHexagonalTiling, Expected: 'SnubHexagonalTiling'}, // {Name: 'cElongatedTriangularTiling', Actual: shp.cElongatedTriangularTiling, Expected: 'ElongatedTriangularTiling'}, // // // Uniform Polyhedra // {Name: 'cHemicube', Actual: shp.cHemicube, Expected: 'Hemicube'}, // {Name: 'cHemiOctahedron', Actual: shp.cHemiOctahedron, Expected: 'HemiOctahedron'}, // {Name: 'cHemiDodecahedron', Actual: shp.cHemiDodecahedron, Expected: 'HemiDodecahedron'}, // {Name: 'cHemiIcosahedron', Actual: shp.cHemiIcosahedron, Expected: 'HemiIcosahedron'}, // {Name: 'cTruncatedTetrahedron', Actual: shp.cTruncatedTetrahedron, Expected: 'TruncatedTetrahedron'}, // {Name: 'cCuboctahedron', Actual: shp.cCuboctahedron, Expected: 'Cuboctahedron'}, // {Name: 'cTruncatedCube', Actual: shp.cTruncatedCube, Expected: 'TruncatedCube'}, // {Name: 'cTruncatedOctahedron', Actual: shp.cTruncatedOctahedron, Expected: 'TruncatedOctahedron'}, // {Name: 'cRhombicubOctahedron', Actual: shp.cRhombicubOctahedron, Expected: 'RhombicubOctahedron'}, // {Name: 'cTruncatedCuboctahedron', Actual: shp.cTruncatedCuboctahedron, Expected: 'TruncatedCuboctahedron'}, // {Name: 'cSnubCube', Actual: shp.cSnubCube, Expected: 'SnubCube'}, // {Name: 'cIcosidodecahedron', Actual: shp.cIcosidodecahedron, Expected: 'Icosidodecahedron'}, // {Name: 'cTruncatedDodecahedron', Actual: shp.cTruncatedDodecahedron, Expected: 'TruncatedDodecahedron'}, // {Name: 'cTruncatedIcosahedron', Actual: shp.cTruncatedIcosahedron, Expected: 'TruncatedIcosahedron'}, // {Name: 'cRhombicosidodecahedron', Actual: shp.cRhombicosidodecahedron, Expected: 'Rhombicosidodecahedron'}, // {Name: 'cTruncatedIcosidodecahedron', Actual: shp.cTruncatedIcosidodecahedron, Expected: 'TruncatedIcosidodecahedron'}, // {Name: 'cSnubDodecahedron', Actual: shp.cSnubDodecahedron, Expected: 'SnubDodecahedron'}, // {Name: 'cPrism', Actual: shp.cPrism, Expected: 'Prism'}, // {Name: 'cAntiprism', Actual: shp.cAntiprism, Expected: 'Antiprism'}, // {Name: 'cCubitruncatedCuboctahedron', Actual: shp.cCubitruncatedCuboctahedron, Expected: 'CubitruncatedCuboctahedron'}, // {Name: 'cCubohemioctahedron', Actual: shp.cCubohemioctahedron, Expected: 'Cubohemioctahedron'}, // {Name: 'cDitrigonalDodecadodecahedron', Actual: shp.cDitrigonalDodecadodecahedron, Expected: 'DitrigonalDodecadodecahedron'}, // {Name: 'cDodecadodecahedron', Actual: shp.cDodecadodecahedron, Expected: 'Dodecadodecahedron'}, // {Name: 'cGreatCubicuboctahedron', Actual: shp.cGreatCubicuboctahedron, Expected: 'GreatCubicuboctahedron'}, // {Name: 'cGreatDirhombicosidodecahedron', Actual: shp.cGreatDirhombicosidodecahedron, Expected: 'GreatDirhombicosidodecahedron'}, // {Name: 'cGreatDisnubDirhombidodecahedron', Actual: shp.cGreatDisnubDirhombidodecahedron, Expected: 'GreatDisnubDirhombidodecahedron'}, // {Name: 'cGreatDitrigonalDodecicosidodecahedron', Actual: shp.cGreatDitrigonalDodecicosidodecahedron, Expected: 'GreatDitrigonalDodecicosidodecahedron'}, // {Name: 'cGreatDitrigonalIcosidodecahedron', Actual: shp.cGreatDitrigonalIcosidodecahedron, Expected: 'GreatDitrigonalIcosidodecahedron'}, // {Name: 'cGreatDodecahemicosahedron', Actual: shp.cGreatDodecahemicosahedron, Expected: 'GreatDodecahemicosahedron'}, // {Name: 'cGreatDodecahemidodecahedron', Actual: shp.cGreatDodecahemidodecahedron, Expected: 'GreatDodecahemidodecahedron'}, // {Name: 'cGreatDodecicosahedron', Actual: shp.cGreatDodecicosahedron, Expected: 'GreatDodecicosahedron'}, // {Name: 'cGreatDodecicosidodecahedron', Actual: shp.cGreatDodecicosidodecahedron, Expected: 'GreatDodecicosidodecahedron'}, // {Name: 'cGreatIcosicosidodecahedron', Actual: shp.cGreatIcosicosidodecahedron, Expected: 'GreatIcosicosidodecahedron'}, // {Name: 'cGreatIcosidodecahedron', Actual: shp.