Add more tests for optional.

This commit is contained in:
Cici Huang 2025-02-04 00:14:43 +00:00
parent 8a3d0d68a2
commit e1ab6073ab

View File

@ -2017,18 +2017,21 @@ func TestCelEstimatedCostStability(t *testing.T) {
"l": listType(&stringType),
}),
expectCost: map[string]uint64{
"optional.of('a') != optional.of('b')": uint64(1844674407370955266),
"optional.of('a') != optional.none()": uint64(1844674407370955266),
"optional.of('a').hasValue()": 2,
"optional.of('a').or(optional.of('a')).hasValue()": 4, // or() is short-circuited
"optional.none().or(optional.of('a')).hasValue()": 4,
"optional.of('a').optMap(v, v == 'value').hasValue()": 18,
"self.obj.?field == optional.of('a')": uint64(1844674407370955268),
"self.obj.?absentField == optional.none()": uint64(1844674407370955268),
"self.obj.?field.orValue('v') == 'a'": 5,
"self.m[?'k'] == optional.of('v')": uint64(1844674407370955268),
"self.l[?0] == optional.of('a')": uint64(1844674407370955268),
"optional.ofNonZeroValue(1).hasValue()": 2,
"optional.of('a') != optional.of('b')": uint64(1844674407370955266),
"optional.of('a') != optional.none()": uint64(1844674407370955266),
"optional.of('a').hasValue()": 2,
"optional.of('a').or(optional.of('a')).hasValue()": 4, // or() is short-circuited
"optional.none().or(optional.of('a')).hasValue()": 4,
"optional.of('a').optMap(v, v == 'value').hasValue()": 18,
"self.obj.?field == optional.of('a')": uint64(1844674407370955268),
"self.obj.?absentField == optional.none()": uint64(1844674407370955268),
"self.obj.?field.orValue('v') == 'a'": 5,
"self.m[?'k'] == optional.of('v')": uint64(1844674407370955268),
"self.l[?0] == optional.of('a')": uint64(1844674407370955268),
"optional.ofNonZeroValue(1).hasValue()": 2,
"optional.of([1, 2, 3, 4, 5]).optMap(v, v.size()).hasValue()": 38,
"optional.of('abcdefgabcdefg').optMap(v, v.size()).hasValue()": 18,
"self.l[?0].optMap(v, v == 'a').hasValue()": 22,
},
},
{name: "quantity",