54 lines
1.7 KiB
Dart
54 lines
1.7 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:yumi/shared/tools/sc_gift_vap_svga_manager.dart';
|
|
|
|
void main() {
|
|
group('SCGiftVapSvgaManager priorities', () {
|
|
test('entry effects keep the highest default priority', () {
|
|
final giftPriority = SCGiftVapSvgaManager.resolveEffectPriority();
|
|
final entryPriority = SCGiftVapSvgaManager.resolveEffectPriority(
|
|
type: SCGiftVapSvgaManager.entryEffectType,
|
|
);
|
|
|
|
expect(entryPriority, greaterThan(giftPriority));
|
|
expect(entryPriority, SCGiftVapSvgaManager.entryEffectPriority);
|
|
});
|
|
|
|
test('explicit gift priority is kept below default entry priority', () {
|
|
expect(SCGiftVapSvgaManager.resolveEffectPriority(priority: 200), 200);
|
|
expect(
|
|
SCGiftVapSvgaManager.resolveEffectPriority(
|
|
priority: 200,
|
|
type: SCGiftVapSvgaManager.entryEffectType,
|
|
),
|
|
SCGiftVapSvgaManager.entryEffectPriority,
|
|
);
|
|
});
|
|
|
|
test(
|
|
'priority queue still orders entry before gift in the same channel',
|
|
() {
|
|
final queue = SCPriorityQueue<SCVapTask>((a, b) => a.compareTo(b));
|
|
|
|
queue.add(
|
|
SCVapTask(
|
|
path: 'entry.svga',
|
|
type: SCGiftVapSvgaManager.entryEffectType,
|
|
priority: SCGiftVapSvgaManager.resolveEffectPriority(
|
|
type: SCGiftVapSvgaManager.entryEffectType,
|
|
),
|
|
),
|
|
);
|
|
queue.add(
|
|
SCVapTask(
|
|
path: 'gift.svga',
|
|
priority: SCGiftVapSvgaManager.resolveEffectPriority(),
|
|
),
|
|
);
|
|
|
|
expect(queue.removeFirst().path, 'entry.svga');
|
|
expect(queue.removeFirst().path, 'gift.svga');
|
|
},
|
|
);
|
|
});
|
|
}
|