@@ -407,7 +407,7 @@ TEST_SUITE("clone_magics_manager")
407407 {
408408 xcpp::xmagics_manager manager;
409409
410- xcpp::xpreamble* clone = manager.clone ();
410+ std::unique_ptr< xcpp::xpreamble> clone = manager.clone ();
411411
412412 REQUIRE (clone != nullptr );
413413 }
@@ -419,11 +419,9 @@ TEST_SUITE("clone_magics_manager")
419419 {
420420 xcpp::xmagics_manager manager;
421421
422- xcpp::xpreamble* clone = manager.clone ();
422+ std::unique_ptr< xcpp::xpreamble> clone = manager.clone ();
423423
424- REQUIRE (dynamic_cast <xcpp::xmagics_manager*>(clone) != nullptr );
425-
426- delete clone;
424+ REQUIRE (clone.get () != nullptr );
427425 }
428426}
429427
@@ -436,12 +434,13 @@ TEST_SUITE("xpreamble_manager_operator")
436434 {
437435 std::string name = " test" ;
438436 xcpp::xpreamble_manager manager;
439- xcpp::xmagics_manager* magics = new xcpp::xmagics_manager ();
440- manager.register_preamble (name, magics);
437+ std::unique_ptr<xcpp::xmagics_manager> magics = std::make_unique<xcpp::xmagics_manager>();
438+ auto * raw_ptr = magics.get ();
439+ manager.register_preamble (name, std::move (magics));
441440
442441 xcpp::xholder_preamble& result = manager.operator [](name);
443442
444- REQUIRE (&(result.get_cast <xcpp::xmagics_manager>()) == magics );
443+ REQUIRE (&(result.get_cast <xcpp::xmagics_manager>()) == raw_ptr );
445444 }
446445}
447446
@@ -642,7 +641,7 @@ TEST_SUITE("xsystem_clone")
642641 {
643642 xcpp::xsystem system;
644643
645- xcpp::xpreamble* clone = system.clone ();
644+ std::unique_ptr< xcpp::xpreamble> clone = system.clone ();
646645
647646 REQUIRE (clone != nullptr );
648647 }
@@ -651,9 +650,9 @@ TEST_SUITE("xsystem_clone")
651650 {
652651 xcpp::xsystem system;
653652
654- xcpp::xpreamble* clone = system.clone ();
653+ std::unique_ptr< xcpp::xpreamble> clone = system.clone ();
655654
656- REQUIRE (dynamic_cast <xcpp::xsystem*>( clone) != nullptr );
655+ REQUIRE (clone. get ( ) != nullptr );
657656
658657 }
659658}
@@ -727,7 +726,7 @@ TEST_SUITE("xmagics_apply"){
727726
728727 xcpp::xpreamble_manager preamble_manager;
729728
730- preamble_manager.register_preamble (" magics" , new xcpp::xmagics_manager ());
729+ preamble_manager.register_preamble (" magics" , std::make_unique< xcpp::xmagics_manager> ());
731730
732731 preamble_manager[" magics" ].get_cast <xcpp::xmagics_manager>().register_magic (" magic2" , MyMagicCell ());
733732
@@ -742,7 +741,7 @@ TEST_SUITE("xmagics_apply"){
742741
743742 xcpp::xpreamble_manager preamble_manager;
744743
745- preamble_manager.register_preamble (" magics" , new xcpp::xmagics_manager ());
744+ preamble_manager.register_preamble (" magics" , std::make_unique< xcpp::xmagics_manager> ());
746745
747746 preamble_manager[" magics" ].get_cast <xcpp::xmagics_manager>().register_magic (" magic1" , MyMagicLine ());
748747
0 commit comments