@@ -1430,4 +1430,179 @@ public void shouldContainHashInHash() {
1430
1430
);
1431
1431
}
1432
1432
1433
+ @ Test
1434
+ public void shouldContainString () {
1435
+ MetafixTestHelpers .assertFix (streamReceiver , Arrays .asList (
1436
+ "if str_contain('name', 'a$[var]')" ,
1437
+ " add_field('type', 'Organization')" ,
1438
+ "end"
1439
+ ),
1440
+ ImmutableMap .of ("var" , "me" ),
1441
+ i -> {
1442
+ i .startRecord ("1" );
1443
+ i .literal ("name" , "Mame" );
1444
+ i .literal ("name" , "A University" );
1445
+ i .endRecord ();
1446
+
1447
+ i .startRecord ("2" );
1448
+ i .literal ("name" , "Mame" );
1449
+ i .literal ("name" , "Max" );
1450
+ i .endRecord ();
1451
+
1452
+ i .startRecord ("3" );
1453
+ i .endRecord ();
1454
+ },
1455
+ o -> {
1456
+ o .get ().startRecord ("1" );
1457
+ o .get ().literal ("name" , "Mame" );
1458
+ o .get ().literal ("name" , "A University" );
1459
+ o .get ().literal ("type" , "Organization" );
1460
+ o .get ().endRecord ();
1461
+
1462
+ o .get ().startRecord ("2" );
1463
+ o .get ().literal ("name" , "Mame" );
1464
+ o .get ().literal ("name" , "Max" );
1465
+ o .get ().literal ("type" , "Organization" );
1466
+ o .get ().endRecord ();
1467
+
1468
+ o .get ().startRecord ("3" );
1469
+ o .get ().literal ("type" , "Organization" );
1470
+ o .get ().endRecord ();
1471
+ }
1472
+ );
1473
+ }
1474
+
1475
+ @ Test
1476
+ public void shouldEqualString () {
1477
+ MetafixTestHelpers .assertFix (streamReceiver , Arrays .asList (
1478
+ "if str_equal('name', 'na$[var]')" ,
1479
+ " add_field('type', 'Organization')" ,
1480
+ "end"
1481
+ ),
1482
+ ImmutableMap .of ("var" , "me" ),
1483
+ i -> {
1484
+ i .startRecord ("1" );
1485
+ i .literal ("name" , "Mame" );
1486
+ i .literal ("name" , "A University" );
1487
+ i .endRecord ();
1488
+
1489
+ i .startRecord ("2" );
1490
+ i .literal ("name" , "Mame" );
1491
+ i .literal ("name" , "Max" );
1492
+ i .endRecord ();
1493
+
1494
+ i .startRecord ("3" );
1495
+ i .endRecord ();
1496
+ },
1497
+ o -> {
1498
+ o .get ().startRecord ("1" );
1499
+ o .get ().literal ("name" , "Mame" );
1500
+ o .get ().literal ("name" , "A University" );
1501
+ o .get ().literal ("type" , "Organization" );
1502
+ o .get ().endRecord ();
1503
+
1504
+ o .get ().startRecord ("2" );
1505
+ o .get ().literal ("name" , "Mame" );
1506
+ o .get ().literal ("name" , "Max" );
1507
+ o .get ().literal ("type" , "Organization" );
1508
+ o .get ().endRecord ();
1509
+
1510
+ o .get ().startRecord ("3" );
1511
+ o .get ().literal ("type" , "Organization" );
1512
+ o .get ().endRecord ();
1513
+ }
1514
+ );
1515
+ }
1516
+
1517
+ @ Test
1518
+ public void shouldMatchString () {
1519
+ MetafixTestHelpers .assertFix (streamReceiver , Arrays .asList (
1520
+ "if str_match('name', '.*a$[var]')" ,
1521
+ " add_field('type', 'Organization')" ,
1522
+ "end"
1523
+ ),
1524
+ ImmutableMap .of ("var" , "me" ),
1525
+ i -> {
1526
+ i .startRecord ("1" );
1527
+ i .literal ("name" , "Mame" );
1528
+ i .literal ("name" , "A University" );
1529
+ i .endRecord ();
1530
+
1531
+ i .startRecord ("2" );
1532
+ i .literal ("name" , "Mame" );
1533
+ i .literal ("name" , "Max" );
1534
+ i .endRecord ();
1535
+
1536
+ i .startRecord ("3" );
1537
+ i .endRecord ();
1538
+ },
1539
+ o -> {
1540
+ o .get ().startRecord ("1" );
1541
+ o .get ().literal ("name" , "Mame" );
1542
+ o .get ().literal ("name" , "A University" );
1543
+ o .get ().literal ("type" , "Organization" );
1544
+ o .get ().endRecord ();
1545
+
1546
+ o .get ().startRecord ("2" );
1547
+ o .get ().literal ("name" , "Mame" );
1548
+ o .get ().literal ("name" , "Max" );
1549
+ o .get ().literal ("type" , "Organization" );
1550
+ o .get ().endRecord ();
1551
+
1552
+ o .get ().startRecord ("3" );
1553
+ o .get ().literal ("type" , "Organization" );
1554
+ o .get ().endRecord ();
1555
+ }
1556
+ );
1557
+ }
1558
+
1559
+ @ Test
1560
+ public void shouldTestMacroVariable () {
1561
+ MetafixTestHelpers .assertFix (streamReceiver , Arrays .asList (
1562
+ "do macro('test')" ,
1563
+ " if str_contain('name', 'a$[var]')" ,
1564
+ " add_field('type', 'Organization: $[var]')" ,
1565
+ " end" ,
1566
+ "end" ,
1567
+ "macro('test', 'var': 'm')" ,
1568
+ "macro('test', 'var': 'me')" ,
1569
+ "macro('test', 'var': 'mee')"
1570
+ ),
1571
+ i -> {
1572
+ i .startRecord ("1" );
1573
+ i .literal ("name" , "Mame" );
1574
+ i .literal ("name" , "A University" );
1575
+ i .endRecord ();
1576
+
1577
+ i .startRecord ("2" );
1578
+ i .literal ("name" , "Mame" );
1579
+ i .literal ("name" , "Max" );
1580
+ i .endRecord ();
1581
+
1582
+ i .startRecord ("3" );
1583
+ i .endRecord ();
1584
+ },
1585
+ o -> {
1586
+ o .get ().startRecord ("1" );
1587
+ o .get ().literal ("name" , "Mame" );
1588
+ o .get ().literal ("name" , "A University" );
1589
+ o .get ().literal ("type" , "Organization: m" );
1590
+ o .get ().literal ("type" , "Organization: me" );
1591
+ o .get ().endRecord ();
1592
+
1593
+ o .get ().startRecord ("2" );
1594
+ o .get ().literal ("name" , "Mame" );
1595
+ o .get ().literal ("name" , "Max" );
1596
+ o .get ().literal ("type" , "Organization: m" );
1597
+ o .get ().literal ("type" , "Organization: me" );
1598
+ o .get ().endRecord ();
1599
+
1600
+ o .get ().startRecord ("3" );
1601
+ o .get ().literal ("type" , "Organization: m" );
1602
+ o .get ().literal ("type" , "Organization: me" );
1603
+ o .get ().endRecord ();
1604
+ }
1605
+ );
1606
+ }
1607
+
1433
1608
}
0 commit comments