1use strict;
2use warnings;
3
4use Chemistry::File::SMILES;
5use Test::More;
6use List::Util qw(sum);
7
8#plan tests => 8;
9plan 'no_plan';
10
11my $mol;
12my $total_bo;
13my $s_out;
14my $s_in = 'c1ccccc1C';
15my $bo_total;
16
17# kekulize
18$mol = Chemistry::Mol->parse($s_in, format => 'smiles', kekulize => 0);
19$bo_total = sum( map {$_->order} $mol->bonds );
20is( $bo_total,      7,      'kekulize => 0' );
21
22$mol = Chemistry::Mol->parse($s_in, format => 'smiles', kekulize => 1);
23$bo_total = sum( map {$_->order} $mol->bonds );
24is( $bo_total,      10,      'kekulize => 1' );
25
26# aromatic
27$s_out = $mol->print(format => 'smiles', aromatic => 0);
28is( $s_out,     'C1=CC=CC=C1C',    'aromatic => 0');
29
30$s_out = $mol->print(format => 'smiles', aromatic => 1);
31is( $s_out,     $s_in,    'aromatic => 1');
32
33# unique
34$s_out = $mol->print(format => 'smiles', unique => 1);
35is( $s_out,     'Cc1ccccc1',    'unique => 1');
36
37# auto_number
38$s_out = $mol->print(format => 'smiles', aromatic => 1, auto_number => 1);
39is( $s_out, '[cH:1]1[cH:2][cH:3][cH:4][cH:5][c:6]1[CH3:7]',  'auto_number => 1');
40
41# number
42$mol->atoms(7)->name(345);
43$s_out = $mol->print(format => 'smiles', aromatic => 1, number => 1);
44is( $s_out, 'c1ccccc1[CH3:345]',  'number => 1');
45
46# read numbers
47$s_in = 'CC(=[O:1])[O:2]CC';
48$mol = Chemistry::Mol->parse($s_in, format => 'smiles');
49is( $mol->atoms(3)->name, 1, 'atom name(1)' );
50is( $mol->atoms(4)->name, 2, 'atom name(2)' );
51
52