#!/usr/bin/perl -w

# Some basic as_vcg tests

use Test::More;
use strict;

BEGIN
   {
   plan tests => 7;
   chdir 't' if -d 't';
   use lib '../lib';
   use_ok ("Graph::Easy") or die($@);
   use_ok ("Graph::Easy::Parser") or die($@);
   };

can_ok ('Graph::Easy', qw/
  as_vcg
  as_vcg_file
  /);

#############################################################################
my $graph = Graph::Easy->new();

my $vcg = $graph->as_vcg();
my $vcg_file = $graph->as_vcg_file();

# remove time stamp:
$vcg =~ s/ at \d{4}//;
$vcg_file =~ s/ at \d{4}//;
is ($vcg, $vcg_file, 'as_vcg and as_vcg_file are equal');

$graph->add_edge('A','B');

like ($graph->as_vcg(), qr/edge: { sourcename: "A" targetname: "B" }/,
	'as_vcg matches');

# set edge label
my @edges = $graph->edges();
$edges[0]->set_attribute('label', 'my car');

like ($graph->as_vcg(),
	qr/edge: { label: "my car" sourcename: "A" targetname: "B" }/,
	'as_vcg matches');

#############################################################################
# graph label

$graph = Graph::Easy->new();
$graph->set_attribute('label', 'my graph label');

like ($graph->as_vcg(), qr/title: "my graph label"/,
	'as_vcg has graph label');

