chore: tests

This commit is contained in:
lollipopkit🏳️‍⚧️
2025-08-22 00:25:26 +08:00
parent 24fd4b782d
commit 8270674b7d
5 changed files with 533 additions and 0 deletions

47
test/cpu_test.dart Normal file
View File

@@ -0,0 +1,47 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:server_box/data/model/server/cpu.dart';
void main() {
group('CPU Model Tests', () {
test('Test SingleCpuCore.parse', () {
const raw = 'cpu 18232538 52837 5772391 334460731 247294 0 134107 0 0 0';
final result = SingleCpuCore.parse(raw);
expect(result.length, 1);
expect(result[0].id, 'cpu');
expect(result[0].total, 358899898);
});
test('Test Cpus calculation', () {
final pre = SingleCpuCore.parse(
'cpu 18232538 52837 5772391 334460731 247294 0 134107 0 0 0');
final now = SingleCpuCore.parse(
'cpu 18232638 52937 5772491 334460831 247294 0 134107 0 0 0');
final cpus = Cpus(pre, now);
cpus.onUpdate();
expect(cpus.usedPercent(), closeTo(75.0, 0.1));
expect(cpus.user, closeTo(25.0, 0.1));
expect(cpus.sys, closeTo(25.0, 0.1));
});
test('Test parseBsdCpu for macOS', () {
const raw = 'CPU usage: 14.70% user, 12.76% sys, 72.52% idle';
final cpus = parseBsdCpu(raw);
final status = cpus.now.first;
expect(status.user, 14);
expect(status.sys, 12);
expect(status.idle, 72);
});
test('Test parseBsdCpu for FreeBSD', () {
const raw =
'CPU: 5.2% user, 0.0% nice, 3.1% system, 0.1% interrupt, 91.6% idle';
final cpus = parseBsdCpu(raw);
final status = cpus.now.first;
expect(status.user, 5);
expect(status.nice, 0);
expect(status.sys, 3);
expect(status.irq, 0);
expect(status.idle, 91);
});
});
}