File tree Expand file tree Collapse file tree 4 files changed +53
-36
lines changed
data/src/main/java/org/openscience/cdk
silent/src/main/java/org/openscience/cdk/silent
main/java/org/openscience/cdk/io
test/java/org/openscience/cdk/io Expand file tree Collapse file tree 4 files changed +53
-36
lines changed Original file line number Diff line number Diff line change @@ -409,24 +409,27 @@ public IBond.Stereo getStereo() {
409409 */
410410 @ Override
411411 public void setStereo (IBond .Stereo stereo ) {
412- this .stereo = stereo ;
413- switch (stereo ) {
414- case UP :
415- display = Display .WedgeBegin ;
416- break ;
417- case DOWN :
418- display = Display .WedgedHashBegin ;
419- break ;
420- case UP_INVERTED :
421- display = Display .WedgeEnd ;
422- break ;
423- case DOWN_INVERTED :
424- display = Display .WedgedHashEnd ;
425- break ;
426- case UP_OR_DOWN :
427- case UP_OR_DOWN_INVERTED :
428- display = Display .Wavy ;
429- break ;
412+ if (stereo == null ) {
413+ this .display = Display .Solid ;
414+ } else {
415+ switch (stereo ) {
416+ case UP :
417+ display = Display .WedgeBegin ;
418+ break ;
419+ case DOWN :
420+ display = Display .WedgedHashBegin ;
421+ break ;
422+ case UP_INVERTED :
423+ display = Display .WedgeEnd ;
424+ break ;
425+ case DOWN_INVERTED :
426+ display = Display .WedgedHashEnd ;
427+ break ;
428+ case UP_OR_DOWN :
429+ case UP_OR_DOWN_INVERTED :
430+ display = Display .Wavy ;
431+ break ;
432+ }
430433 }
431434 notifyChanged ();
432435 }
Original file line number Diff line number Diff line change @@ -404,23 +404,27 @@ public IBond.Stereo getStereo() {
404404 @ Override
405405 public void setStereo (IBond .Stereo stereo ) {
406406 this .stereo = stereo ;
407- switch (stereo ) {
408- case UP :
409- display = Display .WedgeBegin ;
410- break ;
411- case DOWN :
412- display = Display .WedgedHashBegin ;
413- break ;
414- case UP_INVERTED :
415- display = Display .WedgeEnd ;
416- break ;
417- case DOWN_INVERTED :
418- display = Display .WedgedHashEnd ;
419- break ;
420- case UP_OR_DOWN :
421- case UP_OR_DOWN_INVERTED :
422- display = Display .Wavy ;
423- break ;
407+ if (stereo == null ) {
408+ this .display = Display .Solid ;
409+ } else {
410+ switch (stereo ) {
411+ case UP :
412+ display = Display .WedgeBegin ;
413+ break ;
414+ case DOWN :
415+ display = Display .WedgedHashBegin ;
416+ break ;
417+ case UP_INVERTED :
418+ display = Display .WedgeEnd ;
419+ break ;
420+ case DOWN_INVERTED :
421+ display = Display .WedgedHashEnd ;
422+ break ;
423+ case UP_OR_DOWN :
424+ case UP_OR_DOWN_INVERTED :
425+ display = Display .Wavy ;
426+ break ;
427+ }
424428 }
425429 }
426430
Original file line number Diff line number Diff line change @@ -469,7 +469,7 @@ public void readBondBlock(IAtomContainer readData) throws CDKException {
469469 } else if (configuration == 1 ) {
470470 bond .setStereo (IBond .Stereo .UP );
471471 } else if (configuration == 2 ) {
472- bond .setStereo (( IBond .Stereo ) CDKConstants . UNSET );
472+ bond .setStereo (IBond .Stereo . UP_OR_DOWN );
473473 } else if (configuration == 3 ) {
474474 bond .setStereo (IBond .Stereo .DOWN );
475475 }
Original file line number Diff line number Diff line change 2222 * */
2323package org .openscience .cdk .io ;
2424
25+ import org .hamcrest .CoreMatchers ;
2526import org .junit .Assert ;
2627import org .junit .BeforeClass ;
2728import org .junit .Test ;
3031import org .openscience .cdk .exception .CDKException ;
3132import org .openscience .cdk .interfaces .IAtom ;
3233import org .openscience .cdk .interfaces .IAtomContainer ;
34+ import org .openscience .cdk .io .iterator .IteratingSDFReader ;
3335import org .openscience .cdk .sgroup .Sgroup ;
3436import org .openscience .cdk .sgroup .SgroupType ;
3537import org .openscience .cdk .silent .AtomContainer ;
3638import org .openscience .cdk .interfaces .IPseudoAtom ;
39+ import org .openscience .cdk .silent .SilentChemObjectBuilder ;
3740import org .openscience .cdk .tools .ILoggingTool ;
3841import org .openscience .cdk .tools .LoggingToolFactory ;
3942
@@ -144,4 +147,11 @@ public void testPseudoAtomLabels() throws Exception {
144147 assertThat (container .getAtom (0 ).getImplicitHydrogenCount (), is (3 ));
145148 }
146149 }
150+
151+ @ Test public void issue602 () throws Exception {
152+ try (MDLV3000Reader reader = new MDLV3000Reader (getClass ().getResourceAsStream ("issue602.mol" ))) {
153+ IAtomContainer mol = reader .read (SilentChemObjectBuilder .getInstance ().newAtomContainer ());
154+ assertThat (mol .getAtomCount (), CoreMatchers .is (31 ));
155+ }
156+ }
147157}
You can’t perform that action at this time.
0 commit comments