1#![allow(non_snake_case)]
2mod generate;
21use std::fmt::{Display, Formatter};
22
23use dot_generator::{attr, id};
24use dot_structures::*;
25use into_attr::IntoAttribute;
26use into_attr_derive::IntoAttribute;
27
28use crate::{as_item, generate_attr};
29
30pub enum NodeAttributes {}
32pub enum EdgeAttributes {}
34pub enum GraphAttributes {}
36pub enum SubgraphAttributes {}
38
39generate_attr!(struct _background for GraphAttributes; String; "<none>".to_string() );
40generate_attr!(struct area for NodeAttributes, SubgraphAttributes; f32; 1.0);
41generate_attr!(enum arrowhead for EdgeAttributes;
42 normal,dot,odot,none,empty,diamond,ediamond,odiamond,box_,open,vee,halfopen,obox,
44 crow,invempty,tee,invodot,invdot,inv;
45 normal
46 );
48generate_attr!(enum arrowtail for EdgeAttributes;
49 normal,dot,odot,none,empty,diamond,ediamond,odiamond,box_,open,vee,halfopen,obox,
51 crow,invempty,tee,invodot,invdot,inv;
52 normal
53 );
55generate_attr!(struct arrowsize for EdgeAttributes; f32; 0.0);
56generate_attr!(struct bb for GraphAttributes; String);
57generate_attr!(struct center for GraphAttributes; bool;false);
58generate_attr!(struct charset for GraphAttributes; String;"UTF-8".to_string());
59generate_attr!(struct class for GraphAttributes,NodeAttributes,EdgeAttributes,SubgraphAttributes;String;"".to_string());
60generate_attr!(struct colorscheme for GraphAttributes,NodeAttributes,EdgeAttributes,SubgraphAttributes;String;"".to_string());
61generate_attr!(struct comment for GraphAttributes,NodeAttributes,EdgeAttributes;String;"".to_string());
62generate_attr!(struct compound for GraphAttributes;bool;false);
63generate_attr!(struct concentrate for GraphAttributes;bool;false);
64generate_attr!(struct Damping for GraphAttributes;f32;0.99);
65generate_attr!(struct decorate for EdgeAttributes;bool;false);
66generate_attr!(struct defaultdist for GraphAttributes;f32);
67generate_attr!(struct constraint for EdgeAttributes;bool;true);
68generate_attr!(struct dim for GraphAttributes;i32;2);
69generate_attr!(struct dimen for GraphAttributes;i32;2);
70generate_attr!(enum clusterrank for GraphAttributes; local,global,none; local);
71generate_attr!(enum dir for EdgeAttributes; forward,back,both,none; forward);
72generate_attr!(struct diredgeconstraints for GraphAttributes; bool; false);
73generate_attr!(struct distortion for NodeAttributes; f32; 0.0);
74generate_attr!(struct dpi for GraphAttributes; f32; 96.0);
75generate_attr!(struct dedgehrefpi for EdgeAttributes; String);
76generate_attr!(struct edgetarget for EdgeAttributes; String );
77generate_attr!(struct edgetooltip for EdgeAttributes; String );
78generate_attr!(struct edgeURL for EdgeAttributes; String );
79generate_attr!(struct epsilon for GraphAttributes; f32);
80generate_attr!(struct esep for GraphAttributes; f32;3.0);
81generate_attr!(struct fixedsize for NodeAttributes; bool;false);
82generate_attr!(struct fontname for NodeAttributes,GraphAttributes,EdgeAttributes,SubgraphAttributes; String;"Times-Roman".to_string());
83generate_attr!(struct href for NodeAttributes,GraphAttributes,EdgeAttributes,SubgraphAttributes; String;"".to_string());
84generate_attr!(struct id for NodeAttributes,GraphAttributes,EdgeAttributes,SubgraphAttributes; String;"".to_string());
85generate_attr!(struct fontsize for NodeAttributes,GraphAttributes,EdgeAttributes,SubgraphAttributes; f32;14.0);
86generate_attr!(struct fontnames for GraphAttributes; String;"".to_string());
87generate_attr!(struct fontpath for GraphAttributes; String;"<system-dependent>".to_string());
88generate_attr!(struct forcelabels for GraphAttributes; bool;true);
89generate_attr!(struct gradientangle for NodeAttributes,GraphAttributes,SubgraphAttributes; i32);
90generate_attr!(struct group for NodeAttributes; String);
91generate_attr!(struct head_lp for EdgeAttributes; String);
92generate_attr!(struct headclip for EdgeAttributes; bool;true);
93generate_attr!(struct headhref for EdgeAttributes; String;"".to_string());
94generate_attr!(struct headlabel for EdgeAttributes; String;"".to_string());
95generate_attr!(struct headtarget for EdgeAttributes; String;"".to_string());
96generate_attr!(struct headtooltip for EdgeAttributes; String;"".to_string());
97generate_attr!(struct headURL for EdgeAttributes; String;"".to_string());
98generate_attr!(struct height for NodeAttributes; f32;0.5);
99generate_attr!(struct image for NodeAttributes; String;"".to_string());
100generate_attr!(struct imagepos for NodeAttributes; String;"mc".to_string());
101generate_attr!(struct imagescale for NodeAttributes; bool;false);
102generate_attr!(struct imagepath for GraphAttributes; String;"".to_string());
103generate_attr!(struct inputscale for GraphAttributes; f32);
104generate_attr!(struct K for GraphAttributes,SubgraphAttributes; f32;0.3);
105generate_attr!(struct label for NodeAttributes,GraphAttributes,EdgeAttributes,SubgraphAttributes; String;"".to_string());
106generate_attr!(struct label_scheme for GraphAttributes; i32;0);
107generate_attr!(struct labelangle for EdgeAttributes; f32;-25.0);
108generate_attr!(struct labeldistance for EdgeAttributes; f32;1.0);
109generate_attr!(struct labelfloat for EdgeAttributes; bool;false);
110generate_attr!(struct labelfontname for EdgeAttributes; String;"Times-Roman".to_string());
111generate_attr!(struct labelfontsize for EdgeAttributes; f32;14.0);
112generate_attr!(struct labelhref for EdgeAttributes; String;"".to_string());
113generate_attr!(struct labeljust for GraphAttributes,SubgraphAttributes; String;"c".to_string());
114generate_attr!(struct labelloc for GraphAttributes,SubgraphAttributes,NodeAttributes; String);
115generate_attr!(struct labeltarget for EdgeAttributes; String);
116generate_attr!(struct labeltooltip for EdgeAttributes; String);
117generate_attr!(struct labelURL for EdgeAttributes; String);
118generate_attr!(struct landscape for GraphAttributes; bool;false);
119generate_attr!(struct layer for EdgeAttributes,NodeAttributes,SubgraphAttributes; String);
120generate_attr!(struct layerlistsep for GraphAttributes; String;",".to_string());
121generate_attr!(struct layers for GraphAttributes; String);
122generate_attr!(struct layerselect for GraphAttributes; String);
123generate_attr!(struct layersep for GraphAttributes; String;":\t ".to_string());
124generate_attr!(struct layout for GraphAttributes; String);
125generate_attr!(struct len for EdgeAttributes; f32);
126generate_attr!(struct levels for GraphAttributes; i32);
127generate_attr!(struct levelsgap for GraphAttributes; f32;0.0);
128generate_attr!(struct lhead for EdgeAttributes; String);
129generate_attr!(struct lheight for GraphAttributes,SubgraphAttributes; f32);
130generate_attr!(struct lwidth for GraphAttributes,SubgraphAttributes; f32);
131generate_attr!(struct lp for GraphAttributes,SubgraphAttributes,EdgeAttributes; String);
132generate_attr!(struct margin for GraphAttributes,SubgraphAttributes,NodeAttributes; f32);
133generate_attr!(struct ltail for EdgeAttributes; String);
134generate_attr!(struct maxiter for GraphAttributes; i32);
135generate_attr!(struct mclimit for GraphAttributes; f32;1.);
136generate_attr!(struct mindist for GraphAttributes; f32;1.);
137generate_attr!(struct minlen for EdgeAttributes; i32;1);
138generate_attr!(struct mode for GraphAttributes; String;"major".to_string());
139generate_attr!(struct model for GraphAttributes; String;"shortpath".to_string());
140generate_attr!(struct mosek for GraphAttributes; bool;false);
141generate_attr!(struct newrank for GraphAttributes; bool;false);
142generate_attr!(struct nodesep for GraphAttributes; f32;0.25);
143generate_attr!(struct normalize for GraphAttributes; bool;false);
144generate_attr!(struct notranslate for GraphAttributes; bool;false);
145generate_attr!(struct nslimit for GraphAttributes; f32);
146generate_attr!(struct nslimit1 for GraphAttributes; f32);
147generate_attr!(struct ordering for GraphAttributes,NodeAttributes; String);
148generate_attr!(struct orientation for GraphAttributes,NodeAttributes; f32;0.);
149generate_attr!(enum outputorder for GraphAttributes; breadthfirst,nodesfirst,edgesfirst;breadthfirst);
150generate_attr!(struct nojustify for GraphAttributes,NodeAttributes,SubgraphAttributes,EdgeAttributes; bool;false);
151generate_attr!(struct overlap for GraphAttributes; bool;true);
152generate_attr!(struct overlap_shrink for GraphAttributes; bool;true);
153generate_attr!(struct pack for GraphAttributes; bool;false);
154generate_attr!(struct overlap_scaling for GraphAttributes; f32;-4.);
155generate_attr!(struct pad for GraphAttributes; f32;0.0555);
156generate_attr!(struct page for GraphAttributes; f32);
157generate_attr!(enum packmode for GraphAttributes; node,clust,graph,array;node);
158generate_attr!(enum pagedir for GraphAttributes; BL,BR,TL,TR,RB,RT,LB,LT;BL);
159generate_attr!(struct penwidth for SubgraphAttributes,NodeAttributes,EdgeAttributes; f32;1.);
160generate_attr!(struct peripheries for SubgraphAttributes,NodeAttributes; i32);
161generate_attr!(struct pin for NodeAttributes; bool;false);
162generate_attr!(struct pos for NodeAttributes,EdgeAttributes; String);
163generate_attr!(enum quadtree for GraphAttributes; normal,fast,none;normal);
164generate_attr!(struct quantum for GraphAttributes; f32;0.);
165generate_attr!(enum rank for SubgraphAttributes; same,min,source,max,sink);
166generate_attr!(enum rankdir for GraphAttributes; TB,BT,LR,RL;TB);
167generate_attr!(struct ranksep for GraphAttributes; f32;0.5);
168generate_attr!(struct ratio for GraphAttributes; f32);
169generate_attr!(struct rects for NodeAttributes; String);
170generate_attr!(struct regular for NodeAttributes; bool;false);
171generate_attr!(struct remincross for GraphAttributes; bool;true);
172generate_attr!(struct repulsiveforce for GraphAttributes; f32;1.);
173generate_attr!(struct resolution for GraphAttributes; f32;96.);
174generate_attr!(struct root for GraphAttributes,NodeAttributes; String);
175generate_attr!(struct rotate for GraphAttributes; i32;0);
176generate_attr!(struct rotation for GraphAttributes; f32;0.);
177generate_attr!(struct samehead for EdgeAttributes; String);
178generate_attr!(struct sametail for EdgeAttributes; String);
179generate_attr!(struct samplepoints for NodeAttributes; i32;8);
180generate_attr!(struct searchsize for GraphAttributes; i32;30);
181generate_attr!(struct scale for GraphAttributes; f32);
182generate_attr!(struct sep for GraphAttributes; f32;4.);
183generate_attr!(struct shapefile for NodeAttributes; String);
184generate_attr!(enum shape for NodeAttributes;
185 box_,polygon,ellipse,oval,circle,point,egg,triangle,plaintext,plain,diamond,trapezium,
187 parallelogram,house,pentagon,hexagon,septagon,octagon,doublecircle,doubleoctagon,tripleoctagon,
188 invtriangle,invtrapezium,invhouse,Mdiamond,Msquare,Mcircle,rect,rectangle,square,star,none,
189 underline,cylinder,note,tab,folder,box3d,component,promoter,cds,terminator,utr,primersite,
190 restrictionsite,fivepoverhang,threepoverhang,noverhang,assembly,signature,insulator,ribosite,
191 rnastab,proteasesite,proteinstab,rpromoter,rarrow,larrow,lpromoter;
192 ellipse
193 );
195generate_attr!(struct showboxes for NodeAttributes,GraphAttributes,EdgeAttributes; i32;0);
196generate_attr!(struct sides for NodeAttributes; i32;4);
197generate_attr!(struct skew for NodeAttributes; f32;0.);
198generate_attr!(enum smoothing for GraphAttributes; none,avg_dist,graph_dist,power_dist,rng,spring,triangle;none);
199generate_attr!(struct size for GraphAttributes; f32);
200generate_attr!(struct sortv for GraphAttributes,SubgraphAttributes,NodeAttributes; i32;0);
201generate_attr!(struct splines for GraphAttributes; bool);
202generate_attr!(struct start for GraphAttributes; String);
203generate_attr!(struct style for GraphAttributes,EdgeAttributes,NodeAttributes,SubgraphAttributes; String);
204generate_attr!(struct stylesheet for GraphAttributes; String);
205generate_attr!(struct tail_lp for EdgeAttributes; String);
206generate_attr!(struct tailhref for EdgeAttributes; String);
207generate_attr!(struct taillabel for EdgeAttributes; String);
208generate_attr!(struct tailtarget for EdgeAttributes; String);
209generate_attr!(struct tailtooltip for EdgeAttributes; String);
210generate_attr!(struct tailURL for EdgeAttributes; String);
211generate_attr!(struct target for EdgeAttributes,GraphAttributes,NodeAttributes,SubgraphAttributes; String);
212generate_attr!(struct tooltip for EdgeAttributes,GraphAttributes,NodeAttributes,SubgraphAttributes; String);
213generate_attr!(struct URL for EdgeAttributes,GraphAttributes,NodeAttributes,SubgraphAttributes; String);
214generate_attr!(struct tailclip for EdgeAttributes; bool;true);
215generate_attr!(struct truecolor for GraphAttributes; bool);
216generate_attr!(struct vertices for NodeAttributes; String);
217generate_attr!(struct viewport for GraphAttributes; String);
218generate_attr!(struct voro_margin for GraphAttributes; f32;0.05);
219generate_attr!(struct weight for EdgeAttributes; i32;1);
220generate_attr!(struct width for NodeAttributes; f32;0.75);
221generate_attr!(struct xdotversion for GraphAttributes; String);
222generate_attr!(struct xlabel for EdgeAttributes,NodeAttributes; String);
223generate_attr!(struct xlp for EdgeAttributes,NodeAttributes; String);
224generate_attr!(struct z for NodeAttributes; f32;0.);
225generate_attr!(struct bgcolor for GraphAttributes,SubgraphAttributes; color_name);
226generate_attr!(struct color for EdgeAttributes,SubgraphAttributes,NodeAttributes; color_name;color_name::black);
227generate_attr!(struct fillcolor for EdgeAttributes,SubgraphAttributes,NodeAttributes; color_name);
228generate_attr!(struct fontcolor for GraphAttributes,EdgeAttributes,SubgraphAttributes,NodeAttributes; color_name);
229generate_attr!(struct labelfontcolor for EdgeAttributes; color_name;color_name::black);
230generate_attr!(struct pencolor for SubgraphAttributes; color_name;color_name::black);
231
232generate_attr!(enum color_name;
234 aliceblue,antiquewhite,antiquewhite1,antiquewhite2,antiquewhite3,antiquewhite4,aqua,aquamarine,
236 aquamarine1,aquamarine2,aquamarine3,aquamarine4,azure,azure1,azure2,azure3,azure4,beige,bisque,
237 bisque1,bisque2,bisque3,bisque4,black,blanchedalmond,blue,blue1,blue2,blue3,blue4,blueviolet,
238 brown,brown1,brown2,brown3,brown4,burlywood,burlywood1,burlywood2,burlywood3,burlywood4,
239 cadetblue,cadetblue1,cadetblue2,cadetblue3,cadetblue4,chartreuse,chartreuse1,chartreuse2,
240 chartreuse3,chartreuse4,chocolate,chocolate1,chocolate2,chocolate3,chocolate4,coral,coral1,
241 coral2,coral3,coral4,cornflowerblue,cornsilk,cornsilk1,cornsilk2,cornsilk3,cornsilk4,crimson,
242 cyan,cyan1,cyan2,cyan3,cyan4,darkblue,darkcyan,darkgoldenrod,darkgoldenrod1,darkgoldenrod2,
243 darkgoldenrod3,darkgoldenrod4,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,
244 darkolivegreen1,darkolivegreen2,darkolivegreen3,darkolivegreen4,darkorange,darkorange1,
245 darkorange2,darkorange3,darkorange4,darkorchid,darkorchid1,darkorchid2,darkorchid3,darkorchid4,
246 darkred,darksalmon,darkseagreen,darkseagreen1,darkseagreen2,darkseagreen3,darkseagreen4,
247 darkslateblue,darkslategray,darkslategray1,darkslategray2,darkslategray3,darkslategray4,
248 darkslategrey,darkturquoise,darkviolet,deeppink,deeppink1,deeppink2,deeppink3,deeppink4,
249 deepskyblue,deepskyblue1,deepskyblue2,deepskyblue3,deepskyblue4,dimgray,dimgrey,dodgerblue,
250 dodgerblue1,dodgerblue2,dodgerblue3,dodgerblue4,firebrick,firebrick1,firebrick2,firebrick3,
251 firebrick4,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,gold1,gold2,gold3,
252 gold4,goldenrod,goldenrod1,goldenrod2,goldenrod3,goldenrod4,gray,gray0,gray1,gray10,
253 gray100,gray11,gray12,gray13,gray14,gray15,gray16,gray17,gray18,gray19,gray2,gray20,gray21,
254 gray22,gray23,gray24,gray25,gray26,gray27,gray28,gray29,gray3,gray30,gray31,gray32,gray33,
255 gray34,gray35,gray36,gray37,gray38,gray39,gray4,gray40,gray41,gray42,gray43,gray44,gray45,
256 gray46,gray47,gray48,gray49,gray5,gray50,gray51,gray52,gray53,gray54,gray55,gray56,gray57,
257 gray58,gray59,gray6,gray60,gray61,gray62,gray63,gray64,gray65,gray66,gray67,gray68,gray69,
258 gray7,gray70,gray71,gray72,gray73,gray74,gray75,gray76,gray77,gray78,gray79,gray8,gray80,
259 gray81,gray82,gray83,gray84,gray85,gray86,gray87,gray88,gray89,gray9,gray90,gray91,gray92,
260 gray93,gray94,gray95,gray96,gray97,gray98,gray99,green,green1,green2,green3,green4,greenyellow,
261 grey,grey0,grey1,grey10,grey100,grey11,grey12,grey13,grey14,grey15,grey16,grey17,grey18,
262 grey19,grey2,grey20,grey21,grey22,grey23,grey24,grey25,grey26,grey27,grey28,grey29,grey3,
263 grey30,grey31,grey32,grey33,grey34,grey35,grey36,grey37,grey38,grey39,grey4,grey40,grey41,
264 grey42,grey43,grey44,grey45,grey46,grey47,grey48,grey49,grey5,grey50,grey51,grey52,grey53,
265 grey54,grey55,grey56,grey57,grey58,grey59,grey6,grey60,grey61,grey62,grey63,grey64,grey65,
266 grey66,grey67,grey68,grey69,grey7,grey70,grey71,grey72,grey73,grey74,grey75,grey76,grey77,
267 grey78,grey79,grey8,grey80,grey81,grey82,grey83,grey84,grey85,grey86,grey87,grey88,grey89,
268 grey9,grey90,grey91,grey92,grey93,grey94,grey95,grey96,grey97,grey98,grey99,honeydew,honeydew1,
269 honeydew2,honeydew3,honeydew4,hotpink,hotpink1,hotpink2,hotpink3,hotpink4,indianred,indianred1,
270 indianred2,indianred3,indianred4,indigo,invis,ivory,ivory1,ivory2,ivory3,ivory4,khaki,khaki1,
271 khaki2,khaki3,khaki4,lavender,lavenderblush,lavenderblush1,lavenderblush2,lavenderblush3,
272 lavenderblush4,lawngreen,lemonchiffon,lemonchiffon1,lemonchiffon2,lemonchiffon3,lemonchiffon4,
273 lightblue,lightblue1,lightblue2,lightblue3,lightblue4,lightcoral,lightcyan,lightcyan1,
274 lightcyan2,lightcyan3,lightcyan4,lightgoldenrod,lightgoldenrod1,lightgoldenrod2,lightgoldenrod3,
275 lightgoldenrod4,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightpink1,
276 lightpink2,lightpink3,lightpink4,lightsalmon,lightsalmon1,lightsalmon2,lightsalmon3,
277 lightsalmon4,lightseagreen,lightskyblue,lightskyblue1,lightskyblue2,lightskyblue3,
278 lightskyblue4,lightslateblue,lightslategray,lightslategrey,lightsteelblue,lightsteelblue1,
279 lightsteelblue2,lightsteelblue3,lightsteelblue4,lightyellow,lightyellow1,lightyellow2,
280 lightyellow3,lightyellow4,lime,limegreen,linen,magenta,magenta1,magenta2,magenta3,
281 magenta4,maroon,maroon1,maroon2,maroon3,maroon4,mediumaquamarine,mediumblue,mediumorchid,
282 mediumorchid1,mediumorchid2,mediumorchid3,mediumorchid4,mediumpurple,mediumpurple1,
283 mediumpurple2,mediumpurple3,mediumpurple4,mediumseagreen,mediumslateblue,mediumspringgreen,
284 mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,mistyrose1,mistyrose2,
285 mistyrose3,mistyrose4,moccasin,navajowhite,navajowhite1,navajowhite2,navajowhite3,navajowhite4,
286 navy,navyblue,none,oldlace,olive,olivedrab,olivedrab1,olivedrab2,olivedrab3,olivedrab4,
287 orange,orange1,orange2,orange3,orange4,orangered,orangered1,orangered2,orangered3,orangered4,
288 orchid,orchid1,orchid2,orchid3,orchid4,palegoldenrod,palegreen,palegreen1,palegreen2,
289 palegreen3,palegreen4,paleturquoise,paleturquoise1,paleturquoise2,paleturquoise3,paleturquoise4,
290 palevioletred,palevioletred1,palevioletred2,palevioletred3,palevioletred4,papayawhip,
291 peachpuff,peachpuff1,peachpuff2,peachpuff3,peachpuff4,peru,pink,pink1,pink2,pink3,pink4,
292 plum,plum1,plum2,plum3,plum4,powderblue,purple,purple1,purple2,purple3,purple4,rebeccapurple,
293 red,red1,red2,red3,red4,rosybrown,rosybrown1,rosybrown2,rosybrown3,rosybrown4,royalblue,
294 royalblue1,royalblue2,royalblue3,royalblue4,saddlebrown,salmon,salmon1,salmon2,salmon3,salmon4,
295 sandybrown,seagreen,seagreen1,seagreen2,seagreen3,seagreen4,seashell,seashell1,seashell2,
296 seashell3,seashell4,sienna,sienna1,sienna2,sienna3,sienna4,silver,skyblue,skyblue1,skyblue2,
297 skyblue3,skyblue4,slateblue,slateblue1,slateblue2,slateblue3,slateblue4,slategray,slategray1,
298 slategray2,slategray3,slategray4,slategrey,snow,snow1,snow2,snow3,snow4,springgreen,
299 springgreen1,springgreen2,springgreen3,springgreen4,steelblue,steelblue1,steelblue2,steelblue3,
300 steelblue4,tan,tan1,tan2,tan3,tan4,teal,thistle,thistle1,thistle2,thistle3,thistle4,tomato,
301 tomato1,tomato2,tomato3,tomato4,transparent,turquoise,turquoise1,turquoise2,turquoise3,
302 turquoise4,violet,violetred,violetred1,violetred2,violetred3,violetred4,webgray,webgreen,
303 webgrey,webmaroon,webpurple,wheat,wheat1,wheat2,wheat3,wheat4,white,whitesmoke,x11gray,
304 x11green,x11grey,x11maroon,x11purple,yellow,yellow1,yellow2,yellow3,yellow4,yellowgreen
305 );
307
308#[cfg(test)]
309pub mod tests {
310 use dot_generator::attr;
311 use into_attr::IntoAttribute;
312
313 use crate::attributes::*;
314
315 #[test]
316 fn test() {
317 assert_eq!(GraphAttributes::center(true), attr!("center", true));
318 assert_eq!(
319 GraphAttributes::bgcolor(color_name::antiquewhite1),
320 attr!("bgcolor", "antiquewhite1")
321 );
322 assert_eq!(color::default().into_attr(), attr!("color", "black"));
323 }
324}