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