@@ -1087,4 +1087,351 @@ public void testMaintainanceCalls() {
10871087 mtObj .maintenance ();
10881088 indexBasedTestSetup ();
10891089 }
1090+
1091+ // Ported Exhaustive Primitive & Fallback Tests
1092+ //-----------------------------------------------------
1093+
1094+ @ Test
1095+ public void testCreateAndGetByOid () throws Exception {
1096+ DataObject entry = mtObj .newEntry ();
1097+ assertNotNull (entry );
1098+ String oid = entry .getString ("_oid" );
1099+ assertNotNull (oid );
1100+
1101+ entry .saveDelta ();
1102+
1103+ DataObject retrieved = mtObj .get (oid );
1104+ assertNotNull (retrieved );
1105+ assertEquals (oid , retrieved .getString ("_oid" ));
1106+ }
1107+
1108+ @ Test
1109+ public void testStringProp () throws Exception {
1110+ DataObject entry = mtObj .newEntry ();
1111+ String oid = entry .getString ("_oid" );
1112+ entry .put ("myString" , "hello-world" );
1113+ entry .saveDelta ();
1114+
1115+ DataObject retrieved = mtObj .get (oid );
1116+ assertNotNull (retrieved );
1117+ assertEquals ("hello-world" , retrieved .getString ("myString" ));
1118+ }
1119+
1120+ @ Test
1121+ public void testGetStringFallback () throws Exception {
1122+ DataObject entry = mtObj .newEntry ();
1123+ String oid = entry .getString ("_oid" );
1124+ entry .saveDelta ();
1125+
1126+ DataObject retrieved = mtObj .get (oid );
1127+ assertNotNull (retrieved );
1128+ assertEquals ("default-string" , retrieved .getString ("nonExistentProp" , "default-string" ));
1129+ }
1130+
1131+ @ Test
1132+ public void testIntProp () throws Exception {
1133+ DataObject entry = mtObj .newEntry ();
1134+ String oid = entry .getString ("_oid" );
1135+ entry .put ("myInt" , 123 );
1136+ entry .saveDelta ();
1137+
1138+ DataObject retrieved = mtObj .get (oid );
1139+ assertNotNull (retrieved );
1140+ assertEquals (123 , retrieved .getInt ("myInt" ));
1141+ }
1142+
1143+ @ Test
1144+ public void testGetIntFallback () throws Exception {
1145+ DataObject entry = mtObj .newEntry ();
1146+ String oid = entry .getString ("_oid" );
1147+ entry .saveDelta ();
1148+
1149+ DataObject retrieved = mtObj .get (oid );
1150+ assertNotNull (retrieved );
1151+ assertEquals (999 , retrieved .getInt ("nonExistentProp" , 999 ));
1152+ }
1153+
1154+ @ Test
1155+ public void testBooleanProp () throws Exception {
1156+ DataObject entry = mtObj .newEntry ();
1157+ String oid = entry .getString ("_oid" );
1158+ entry .put ("myBool" , true );
1159+ entry .saveDelta ();
1160+
1161+ DataObject retrieved = mtObj .get (oid );
1162+ assertNotNull (retrieved );
1163+ assertTrue (retrieved .getBoolean ("myBool" ));
1164+ }
1165+
1166+ @ Test
1167+ public void testGetBooleanFallbackFalse () throws Exception {
1168+ DataObject entry = mtObj .newEntry ();
1169+ String oid = entry .getString ("_oid" );
1170+ entry .saveDelta ();
1171+
1172+ DataObject retrieved = mtObj .get (oid );
1173+ assertNotNull (retrieved );
1174+ assertFalse (retrieved .getBoolean ("nonExistentProp" , false ));
1175+ }
1176+
1177+ @ Test
1178+ public void testGetBooleanFallbackTrue () throws Exception {
1179+ DataObject entry = mtObj .newEntry ();
1180+ String oid = entry .getString ("_oid" );
1181+ entry .saveDelta ();
1182+
1183+ DataObject retrieved = mtObj .get (oid );
1184+ assertNotNull (retrieved );
1185+ assertTrue (retrieved .getBoolean ("nonExistentProp" , true ));
1186+ }
1187+
1188+ @ Test
1189+ public void testIntOneAsBooleanTrue () throws Exception {
1190+ DataObject entry = mtObj .newEntry ();
1191+ String oid = entry .getString ("_oid" );
1192+ entry .put ("myIntOne" , 1 );
1193+ entry .saveDelta ();
1194+
1195+ DataObject retrieved = mtObj .get (oid );
1196+ assertNotNull (retrieved );
1197+ assertTrue (retrieved .getBoolean ("myIntOne" , false ));
1198+ }
1199+
1200+ @ Test
1201+ public void testIntZeroAsBooleanFalse () throws Exception {
1202+ DataObject entry = mtObj .newEntry ();
1203+ String oid = entry .getString ("_oid" );
1204+ entry .put ("myIntZero" , 0 );
1205+ entry .saveDelta ();
1206+
1207+ DataObject retrieved = mtObj .get (oid );
1208+ assertNotNull (retrieved );
1209+ assertFalse (retrieved .getBoolean ("myIntZero" , true ));
1210+ }
1211+
1212+ @ Test
1213+ public void testNumberProp () throws Exception {
1214+ DataObject entry = mtObj .newEntry ();
1215+ String oid = entry .getString ("_oid" );
1216+ entry .put ("myNum" , 42.56 );
1217+ entry .saveDelta ();
1218+
1219+ DataObject retrieved = mtObj .get (oid );
1220+ assertNotNull (retrieved );
1221+ assertEquals (42.56 , retrieved .getNumber ("myNum" ).doubleValue (), 0.001 );
1222+ }
1223+
1224+ @ Test
1225+ public void testGetNumberFallback () throws Exception {
1226+ DataObject entry = mtObj .newEntry ();
1227+ String oid = entry .getString ("_oid" );
1228+ entry .saveDelta ();
1229+
1230+ DataObject retrieved = mtObj .get (oid );
1231+ assertNotNull (retrieved );
1232+ assertEquals (99.9 , retrieved .getNumber ("nonExistent" , 99.9 ).doubleValue (), 0.001 );
1233+ }
1234+
1235+ @ Test
1236+ public void testLongProp () throws Exception {
1237+ DataObject entry = mtObj .newEntry ();
1238+ String oid = entry .getString ("_oid" );
1239+ entry .put ("myLong" , 9876543210L );
1240+ entry .saveDelta ();
1241+
1242+ DataObject retrieved = mtObj .get (oid );
1243+ assertNotNull (retrieved );
1244+ assertEquals (9876543210L , retrieved .getLong ("myLong" ));
1245+ }
1246+
1247+ @ Test
1248+ public void testGetLongFallback () throws Exception {
1249+ DataObject entry = mtObj .newEntry ();
1250+ String oid = entry .getString ("_oid" );
1251+ entry .saveDelta ();
1252+
1253+ DataObject retrieved = mtObj .get (oid );
1254+ assertNotNull (retrieved );
1255+ assertEquals (12345L , retrieved .getLong ("nonExistent" , 12345L ));
1256+ }
1257+
1258+ @ Test
1259+ public void testFloatProp () throws Exception {
1260+ DataObject entry = mtObj .newEntry ();
1261+ String oid = entry .getString ("_oid" );
1262+ entry .put ("myFloat" , 5.67f );
1263+ entry .saveDelta ();
1264+
1265+ DataObject retrieved = mtObj .get (oid );
1266+ assertNotNull (retrieved );
1267+ assertEquals (5.67f , retrieved .getFloat ("myFloat" ), 0.01f );
1268+ }
1269+
1270+ @ Test
1271+ public void testGetFloatFallback () throws Exception {
1272+ DataObject entry = mtObj .newEntry ();
1273+ String oid = entry .getString ("_oid" );
1274+ entry .saveDelta ();
1275+
1276+ DataObject retrieved = mtObj .get (oid );
1277+ assertNotNull (retrieved );
1278+ assertEquals (1.23f , retrieved .getFloat ("nonExistent" , 1.23f ), 0.01f );
1279+ }
1280+
1281+ @ Test
1282+ public void testDoubleProp () throws Exception {
1283+ DataObject entry = mtObj .newEntry ();
1284+ String oid = entry .getString ("_oid" );
1285+ entry .put ("myDouble" , 3.14159 );
1286+ entry .saveDelta ();
1287+
1288+ DataObject retrieved = mtObj .get (oid );
1289+ assertNotNull (retrieved );
1290+ assertEquals (3.14159 , retrieved .getDouble ("myDouble" ), 0.00001 );
1291+ }
1292+
1293+ @ Test
1294+ public void testGetDoubleFallback () throws Exception {
1295+ DataObject entry = mtObj .newEntry ();
1296+ String oid = entry .getString ("_oid" );
1297+ entry .saveDelta ();
1298+
1299+ DataObject retrieved = mtObj .get (oid );
1300+ assertNotNull (retrieved );
1301+ assertEquals (2.71828 , retrieved .getDouble ("nonExistent" , 2.71828 ), 0.00001 );
1302+ }
1303+
1304+ @ Test
1305+ public void testByteProp () throws Exception {
1306+ DataObject entry = mtObj .newEntry ();
1307+ String oid = entry .getString ("_oid" );
1308+ entry .put ("myByte" , (byte ) 12 );
1309+ entry .saveDelta ();
1310+
1311+ DataObject retrieved = mtObj .get (oid );
1312+ assertNotNull (retrieved );
1313+ assertEquals ((byte ) 12 , retrieved .getByte ("myByte" ));
1314+ }
1315+
1316+ @ Test
1317+ public void testGetByteFallback () throws Exception {
1318+ DataObject entry = mtObj .newEntry ();
1319+ String oid = entry .getString ("_oid" );
1320+ entry .saveDelta ();
1321+
1322+ DataObject retrieved = mtObj .get (oid );
1323+ assertNotNull (retrieved );
1324+ assertEquals ((byte ) 5 , retrieved .getByte ("nonExistent" , (byte ) 5 ));
1325+ }
1326+
1327+ @ Test
1328+ public void testShortProp () throws Exception {
1329+ DataObject entry = mtObj .newEntry ();
1330+ String oid = entry .getString ("_oid" );
1331+ entry .put ("myShort" , (short ) 456 );
1332+ entry .saveDelta ();
1333+
1334+ DataObject retrieved = mtObj .get (oid );
1335+ assertNotNull (retrieved );
1336+ assertEquals ((short ) 456 , retrieved .getShort ("myShort" ));
1337+ }
1338+
1339+ @ Test
1340+ public void testGetShortFallback () throws Exception {
1341+ DataObject entry = mtObj .newEntry ();
1342+ String oid = entry .getString ("_oid" );
1343+ entry .saveDelta ();
1344+
1345+ DataObject retrieved = mtObj .get (oid );
1346+ assertNotNull (retrieved );
1347+ assertEquals ((short ) 9 , retrieved .getShort ("nonExistent" , (short ) 9 ));
1348+ }
1349+
1350+ @ Test
1351+ public void testListProp () throws Exception {
1352+ DataObject entry = mtObj .newEntry ();
1353+ String oid = entry .getString ("_oid" );
1354+ List <String > list = new ArrayList <String >();
1355+ list .add ("item1" );
1356+ list .add ("item2" );
1357+ entry .put ("myList" , list );
1358+ entry .saveDelta ();
1359+
1360+ DataObject retrieved = mtObj .get (oid );
1361+ assertNotNull (retrieved );
1362+ List <String > retrievedList = retrieved .getList ("myList" );
1363+ assertNotNull (retrievedList );
1364+ assertEquals (2 , retrievedList .size ());
1365+ assertEquals ("item1" , retrievedList .get (0 ));
1366+ }
1367+
1368+ @ Test
1369+ public void testGetListFallback () throws Exception {
1370+ DataObject entry = mtObj .newEntry ();
1371+ String oid = entry .getString ("_oid" );
1372+ entry .saveDelta ();
1373+
1374+ DataObject retrieved = mtObj .get (oid );
1375+ assertNotNull (retrieved );
1376+ List <String > fallbackList = new ArrayList <String >();
1377+ fallbackList .add ("fallback-item" );
1378+ assertEquals (fallbackList , retrieved .getList ("nonExistent" , fallbackList ));
1379+ }
1380+
1381+ @ Test
1382+ public void testStringArrayProp () throws Exception {
1383+ DataObject entry = mtObj .newEntry ();
1384+ String oid = entry .getString ("_oid" );
1385+ String [] arr = new String []{"val1" , "val2" };
1386+ entry .put ("myStrArr" , arr );
1387+ entry .saveDelta ();
1388+
1389+ DataObject retrieved = mtObj .get (oid );
1390+ assertNotNull (retrieved );
1391+ String [] retrievedArr = retrieved .getStringArray ("myStrArr" );
1392+ assertNotNull (retrievedArr );
1393+ assertEquals (2 , retrievedArr .length );
1394+ assertEquals ("val1" , retrievedArr [0 ]);
1395+ }
1396+
1397+ @ Test
1398+ public void testGetStringArrayFallback () throws Exception {
1399+ DataObject entry = mtObj .newEntry ();
1400+ String oid = entry .getString ("_oid" );
1401+ entry .saveDelta ();
1402+
1403+ DataObject retrieved = mtObj .get (oid );
1404+ assertNotNull (retrieved );
1405+ String [] fallbackArr = new String []{"fb" };
1406+ assertArrayEquals (fallbackArr , retrieved .getStringArray ("nonExistent" , fallbackArr ));
1407+ }
1408+
1409+ @ Test
1410+ public void testObjectArrayProp () throws Exception {
1411+ DataObject entry = mtObj .newEntry ();
1412+ String oid = entry .getString ("_oid" );
1413+ Object [] arr = new Object []{"val1" , 123 };
1414+ entry .put ("myObjArr" , arr );
1415+ entry .saveDelta ();
1416+
1417+ DataObject retrieved = mtObj .get (oid );
1418+ assertNotNull (retrieved );
1419+ Object [] retrievedArr = retrieved .getObjectArray ("myObjArr" );
1420+ assertNotNull (retrievedArr );
1421+ assertEquals (2 , retrievedArr .length );
1422+ assertEquals ("val1" , retrievedArr [0 ]);
1423+ assertEquals (123 , retrievedArr [1 ]);
1424+ }
1425+
1426+ @ Test
1427+ public void testGetObjectArrayFallback () throws Exception {
1428+ DataObject entry = mtObj .newEntry ();
1429+ String oid = entry .getString ("_oid" );
1430+ entry .saveDelta ();
1431+
1432+ DataObject retrieved = mtObj .get (oid );
1433+ assertNotNull (retrieved );
1434+ Object [] fallbackArr = new Object []{"fb" };
1435+ assertArrayEquals (fallbackArr , retrieved .getObjectArray ("nonExistent" , fallbackArr ));
1436+ }
10901437}
0 commit comments