@@ -1330,10 +1330,10 @@ def test_construction(self):
1330
1330
idx = self .create_index ()
1331
1331
1332
1332
result = Index (idx )
1333
- self . assertTrue (result . equals ( idx ) )
1333
+ tm . assert_index_equal (result , idx , exact = True )
1334
1334
1335
1335
result = Index (idx .values )
1336
- self . assertTrue (result . equals ( idx ) )
1336
+ tm . assert_index_equal (result , idx , exact = True )
1337
1337
1338
1338
# empty
1339
1339
result = CategoricalIndex (categories = categories )
@@ -1371,22 +1371,29 @@ def test_construction(self):
1371
1371
self .assertIsInstance (result , Index )
1372
1372
self .assertNotIsInstance (result , CategoricalIndex )
1373
1373
1374
+ # specify dtype
1375
+ result = Index (np .array (idx ), dtype = 'category' )
1376
+ tm .assert_index_equal (result ,idx ,exact = True )
1377
+
1378
+ result = Index (np .array (idx ).tolist (), dtype = 'category' )
1379
+ tm .assert_index_equal (result ,idx ,exact = True )
1380
+
1374
1381
def test_append (self ):
1375
1382
1376
1383
categories = list ('cab' )
1377
1384
ci = CategoricalIndex (list ('aabbca' ), categories = categories )
1378
1385
1379
1386
# append cats with the same categories
1380
1387
result = ci [:3 ].append (ci [3 :])
1381
- self . assertTrue (result . equals ( ci ) )
1388
+ tm . assert_index_equal (result , ci , exact = True )
1382
1389
1383
1390
foos = [ci [:1 ], ci [1 :3 ], ci [3 :]]
1384
1391
result = foos [0 ].append (foos [1 :])
1385
- self . assertTrue (result . equals ( ci ) )
1392
+ tm . assert_index_equal (result , ci , exact = True )
1386
1393
1387
1394
# empty
1388
1395
result = ci .append ([])
1389
- self . assertTrue (result . equals ( ci ) )
1396
+ tm . assert_index_equal (result , ci , exact = True )
1390
1397
1391
1398
# appending with different categories or reoreded is not ok
1392
1399
self .assertRaises (TypeError , lambda : ci .append (ci .values .set_categories (list ('abcd' ))))
@@ -1395,7 +1402,7 @@ def test_append(self):
1395
1402
# with objects
1396
1403
result = ci .append (['c' ,'a' ])
1397
1404
expected = CategoricalIndex (list ('aabbcaca' ), categories = categories )
1398
- self . assertTrue (result . equals ( expected ) )
1405
+ tm . assert_index_equal (result , expected , exact = True )
1399
1406
1400
1407
# invalid objects
1401
1408
self .assertRaises (TypeError , lambda : ci .append (['a' ,'d' ]))
@@ -1408,17 +1415,17 @@ def test_insert(self):
1408
1415
#test 0th element
1409
1416
result = ci .insert (0 , 'a' )
1410
1417
expected = CategoricalIndex (list ('aaabbca' ),categories = categories )
1411
- self . assertTrue (result . equals ( expected ) )
1418
+ tm . assert_index_equal (result , expected , exact = True )
1412
1419
1413
1420
#test Nth element that follows Python list behavior
1414
1421
result = ci .insert (- 1 , 'a' )
1415
1422
expected = CategoricalIndex (list ('aabbcaa' ),categories = categories )
1416
- self . assertTrue (result . equals ( expected ) )
1423
+ tm . assert_index_equal (result , expected , exact = True )
1417
1424
1418
1425
#test empty
1419
1426
result = CategoricalIndex (categories = categories ).insert (0 , 'a' )
1420
1427
expected = CategoricalIndex (['a' ],categories = categories )
1421
- self . assertTrue (result . equals ( expected ) )
1428
+ tm . assert_index_equal (result , expected , exact = True )
1422
1429
1423
1430
# invalid
1424
1431
self .assertRaises (ValueError , lambda : ci .insert (0 ,'d' ))
@@ -1430,11 +1437,11 @@ def test_delete(self):
1430
1437
1431
1438
result = ci .delete (0 )
1432
1439
expected = CategoricalIndex (list ('abbca' ),categories = categories )
1433
- self . assertTrue (result . equals ( expected ) )
1440
+ tm . assert_index_equal (result , expected , exact = True )
1434
1441
1435
1442
result = ci .delete (- 1 )
1436
1443
expected = CategoricalIndex (list ('aabbc' ),categories = categories )
1437
- self . assertTrue (result . equals ( expected ) )
1444
+ tm . assert_index_equal (result , expected , exact = True )
1438
1445
1439
1446
with tm .assertRaises ((IndexError , ValueError )):
1440
1447
# either depeidnig on numpy version
@@ -1444,10 +1451,13 @@ def test_astype(self):
1444
1451
1445
1452
idx = self .create_index ()
1446
1453
result = idx .astype ('category' )
1447
- self . assertTrue (result . equals ( idx ) )
1454
+ tm . assert_index_equal (result , idx , exact = True )
1448
1455
1449
1456
result = idx .astype (object )
1450
1457
self .assertTrue (result .equals (Index (np .array (idx ))))
1458
+
1459
+ # this IS equal, but not the same class
1460
+ self .assertTrue (result .equals (idx ))
1451
1461
self .assertIsInstance (result , Index )
1452
1462
self .assertNotIsInstance (result , CategoricalIndex )
1453
1463
@@ -1487,6 +1497,9 @@ def test_equals(self):
1487
1497
1488
1498
self .assertTrue (ci1 .equals (ci1 ))
1489
1499
self .assertFalse (ci1 .equals (ci2 ))
1500
+ self .assertTrue (ci1 .equals (ci1 .astype (object )))
1501
+ self .assertTrue (ci1 .astype (object ).equals (ci1 ))
1502
+
1490
1503
self .assertTrue ((ci1 == ci1 ).all ())
1491
1504
self .assertFalse ((ci1 != ci1 ).all ())
1492
1505
self .assertFalse ((ci1 > ci1 ).all ())
0 commit comments