@@ -770,6 +770,36 @@ def test_maybe_convert_string_to_array(self):
770
770
tm .assert_numpy_array_equal (result , np .array (['x' , 2 ], dtype = object ))
771
771
self .assertTrue (result .dtype == object )
772
772
773
+ def test_maybe_convert_scalar (self ):
774
+
775
+ # pass thru
776
+ result = com ._maybe_convert_scalar ('x' )
777
+ self .assertEqual (result , 'x' )
778
+ result = com ._maybe_convert_scalar (np .array ([1 ]))
779
+ self .assertEqual (result , np .array ([1 ]))
780
+
781
+ # leave scalar dtype
782
+ result = com ._maybe_convert_scalar (np .int64 (1 ))
783
+ self .assertEqual (result , np .int64 (1 ))
784
+ result = com ._maybe_convert_scalar (np .int32 (1 ))
785
+ self .assertEqual (result , np .int32 (1 ))
786
+ result = com ._maybe_convert_scalar (np .float32 (1 ))
787
+ self .assertEqual (result , np .float32 (1 ))
788
+ result = com ._maybe_convert_scalar (np .int64 (1 ))
789
+ self .assertEqual (result , np .float64 (1 ))
790
+
791
+ # coerce
792
+ result = com ._maybe_convert_scalar (1 )
793
+ self .assertEqual (result , np .int64 (1 ))
794
+ result = com ._maybe_convert_scalar (1.0 )
795
+ self .assertEqual (result , np .float64 (1 ))
796
+ result = com ._maybe_convert_scalar (pd .Timestamp ('20130101' ))
797
+ self .assertEqual (result , pd .Timestamp ('20130101' ).value )
798
+ result = com ._maybe_convert_scalar (datetime (2013 , 1 , 1 ))
799
+ self .assertEqual (result , pd .Timestamp ('20130101' ).value )
800
+ result = com ._maybe_convert_scalar (pd .Timedelta ('1 day 1 min' ))
801
+ self .assertEqual (result , pd .Timedelta ('1 day 1 min' ).value )
802
+
773
803
774
804
class TestConvert (tm .TestCase ):
775
805
0 commit comments