Skip to content

Commit ce8b5a5

Browse files
committed
Cover set comparisons
1 parent d270642 commit ce8b5a5

File tree

4 files changed

+63
-3
lines changed

4 files changed

+63
-3
lines changed

force-app/main/default/classes/function/MatchFields.cls

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,6 @@ public class MatchFields implements SObjectPredicate {
130130
} else if (valueSet instanceof Set<Integer>) {
131131
Set<Integer> validValues = (Set<Integer>) valueSet;
132132
return validValues.contains((Integer) value);
133-
} else if (valueSet instanceof Set<Long>) {
134-
Set<Long> validValues = (Set<Long>) valueSet;
135-
return validValues.contains((Long) value);
136133
} else if (valueSet instanceof Set<String>) {
137134
Set<String> validValues = (Set<String>) valueSet;
138135
return validValues.contains((String) value);
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
@IsTest
2+
private class MatchFieldsTest {
3+
@IsTest
4+
static void containsDecimal() {
5+
System.Assert.isTrue(new MatchFields().field(Opportunity.Amount).isIn(new Set<Decimal>{10.0}).call(new Opportunity(Amount = 10.0)));
6+
}
7+
8+
@IsTest
9+
static void containsDouble() {
10+
System.Assert.isTrue(new MatchFields().field(Opportunity.Amount).isIn(new Set<Double>{10.0}).call(new Opportunity(Amount = 10.0)));
11+
}
12+
13+
@IsTest
14+
static void containsInteger() {
15+
System.Assert.isTrue(new MatchFields().field(Account.NumberOfEmployees).isIn(new Set<Integer>{10}).call(new Account(NumberOfEmployees = 10)));
16+
}
17+
18+
@IsTest
19+
static void containsBoolean() {
20+
System.Assert.isTrue(new MatchFields().field(Contact.DoNotCall).isIn(new Set<Boolean>{false}).call(new Contact(DoNotCall = false)));
21+
System.Assert.isFalse(new MatchFields().field(Contact.DoNotCall).isIn(new Set<Boolean>{true}).call(new Contact(DoNotCall = false)));
22+
}
23+
24+
@IsTest
25+
static void containsDate() {
26+
Date today = Date.today();
27+
System.Assert.isTrue(new MatchFields().field(Event.ActivityDate).isIn(new Set<Date>{today}).call(new Event(ActivityDate = today)));
28+
}
29+
30+
@IsTest
31+
static void containsDatetime() {
32+
Datetime now = Datetime.now();
33+
System.Assert.isTrue(new MatchFields().field(Event.ActivityDateTime).isIn(new Set<Datetime>{now}).call(new Event(ActivityDateTime = now)));
34+
}
35+
36+
@IsTest
37+
static void containsId() {
38+
Id oppId = TestUtility.getFakeId(Opportunity.SObjectType);
39+
System.Assert.isTrue(new MatchFields().field(Opportunity.Id).isIn(new Set<Id>{oppId}).call(new Opportunity(Id = oppId)));
40+
System.Assert.isFalse(new MatchFields().field(Opportunity.Id).isIn(new Set<Id>{oppId}).call(new Opportunity(Id = TestUtility.getFakeId(Opportunity.SObjectType))));
41+
}
42+
43+
@IsTest
44+
static void containsString() {
45+
System.Assert.isTrue(new MatchFields().field(Opportunity.Name).isIn(new Set<String>{'foo'}).call(new Opportunity(Name = 'foo')));
46+
System.Assert.isFalse(new MatchFields().field(Opportunity.Name).isIn(new Set<String>{'foo'}).call(new Opportunity(Name = 'bar')));
47+
}
48+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
3+
<apiVersion>61.0</apiVersion>
4+
<status>Active</status>
5+
</ApexClass>

force-app/main/default/classes/test/classes/function/ModifySObjectTest.cls

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,14 @@ private class ModifySObjectTest {
4040
new ModifySObject().setFields(new Opportunity(Amount = 2000)).call(opp);
4141
System.Assert.areEqual(2000, opp.Amount);
4242
}
43+
44+
@IsTest
45+
private static void exceptionIsThrownForNull() {
46+
try {
47+
new ModifySObject().setField(Opportunity.Amount, 100).call(null);
48+
System.Assert.fail();
49+
} catch (IllegalArgumentException e) {
50+
System.Assert.areEqual('Record is null', e.getMessage());
51+
}
52+
}
4353
}

0 commit comments

Comments
 (0)