summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/event/pair_test.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/internal/event/pair_test.go b/internal/event/pair_test.go
new file mode 100644
index 0000000..a1cb8ab
--- /dev/null
+++ b/internal/event/pair_test.go
@@ -0,0 +1,56 @@
+package event
+
+import (
+ "ior/internal/types"
+ "testing"
+)
+
+func TestPairCalculateDurationsFirstEvent(t *testing.T) {
+ enter := &types.OpenEvent{
+ Time: 1000,
+ Pid: 1,
+ Tid: 2,
+ }
+ exit := &types.RetEvent{
+ Time: 1100,
+ Pid: 1,
+ Tid: 2,
+ Ret: 0,
+ }
+
+ pair := NewPair(enter)
+ pair.ExitEv = exit
+ pair.CalculateDurations(0)
+
+ if pair.Duration != 100 {
+ t.Fatalf("Duration = %d, want 100", pair.Duration)
+ }
+ if pair.DurationToPrev != 0 {
+ t.Fatalf("DurationToPrev = %d, want 0 for first event", pair.DurationToPrev)
+ }
+}
+
+func TestPairCalculateDurationsWithPreviousExit(t *testing.T) {
+ enter := &types.OpenEvent{
+ Time: 2000,
+ Pid: 1,
+ Tid: 2,
+ }
+ exit := &types.RetEvent{
+ Time: 2100,
+ Pid: 1,
+ Tid: 2,
+ Ret: 0,
+ }
+
+ pair := NewPair(enter)
+ pair.ExitEv = exit
+ pair.CalculateDurations(1500)
+
+ if pair.Duration != 100 {
+ t.Fatalf("Duration = %d, want 100", pair.Duration)
+ }
+ if pair.DurationToPrev != 500 {
+ t.Fatalf("DurationToPrev = %d, want 500", pair.DurationToPrev)
+ }
+}