diff --git a/textgrid/interval_test.go b/textgrid/interval_test.go new file mode 100644 index 0000000..294626b --- /dev/null +++ b/textgrid/interval_test.go @@ -0,0 +1,21 @@ +package textgrid + +import "testing" + +func TestCreatingInterval(t *testing.T) { + interval := Interval{xmin: 0.0, xmax: 1.0, text: "test"} + + if interval.xmin != 0.0 { + t.Errorf("Expected 0.0, got %f", interval.xmin) + } + if interval.xmax != 1.0 { + t.Errorf("Expected 1.0, got %f", interval.xmax) + } + if interval.text != "test" { + t.Errorf("Expected 'test', got %s", interval.text) + } + + if !t.Failed() { + t.Logf("interval created successfully") + } +} diff --git a/textgrid/point_test.go b/textgrid/point_test.go new file mode 100644 index 0000000..b861e48 --- /dev/null +++ b/textgrid/point_test.go @@ -0,0 +1,18 @@ +package textgrid + +import "testing" + +func TestCreatingPoint(t *testing.T) { + point := Point{mark: "point", value: 10.0} + + if point.value != 10.0 { + t.Errorf("Expected 10.0, got %f", point.value) + } + if point.mark != "point" { + t.Errorf("Expected 'mark', got %s", point.mark) + } + + if !t.Failed() { + t.Logf("point created successfully") + } +} diff --git a/textgrid/tiers_test.go b/textgrid/tiers_test.go new file mode 100644 index 0000000..4838030 --- /dev/null +++ b/textgrid/tiers_test.go @@ -0,0 +1,82 @@ +package textgrid + +import "testing" + +func TestCreatingIntervalTier(t *testing.T) { + intervals := []Interval{ + {0.0, 1.0, "test1"}, + {1.0, 2.0, "test2"}, + {2.0, 3.0, "test3"}, + } + + tier := IntervalTier{name: "TestTier", xmin: 0.0, xmax: 3.0, intervals: intervals} + + if tier.name != "TestTier" { + t.Errorf("Expected 'TestTier', got %s", tier.name) + } + if tier.xmin != 0.0 { + t.Errorf("Expected 0.0, got %f", tier.xmin) + } + if tier.xmax != 3.0 { + t.Errorf("Expected 3.0, got %f", tier.xmax) + } + if len(tier.intervals) != 3 { + t.Errorf("Expected 3 intervals, got %d", len(tier.intervals)) + } + + for _, interval := range tier.intervals { + if interval.text != "test1" && interval.text != "test2" && interval.text != "test3" { + t.Errorf("Expected 'test1', 'test2', or 'test3', got %s", interval.text) + } + + if interval.xmin != 0.0 && interval.xmin != 1.0 && interval.xmin != 2.0 { + t.Errorf("Expected 0.0, 1.0, or 2.0, got %f", interval.xmin) + } + + if interval.xmax != 1.0 && interval.xmax != 2.0 && interval.xmax != 3.0 { + t.Errorf("Expected 1.0, 2.0, or 3.0, got %f", interval.xmax) + } + } + + if !t.Failed() { + t.Logf("interval tier created successfully") + } +} + +func TestSettingIntervals(t *testing.T) { + intervals := []Interval{ + {0.0, 1.0, "test1"}, + {1.0, 2.0, "test2"}, + {2.0, 3.0, "test3"}, + } + + tier := IntervalTier{name: "TestTier", xmin: 0.0, xmax: 3.0} + + err := tier.SetIntervals(intervals) + + if err != nil { + t.Errorf("Expected nil, got %s", err) + } + + if len(tier.intervals) != 3 { + t.Errorf("Expected 3 intervals, got %d", len(tier.intervals)) + } + + for _, interval := range tier.intervals { + if interval.text != "test1" && interval.text != "test2" && interval.text != "test3" { + t.Errorf("Expected 'test1', 'test2', or 'test3', got %s", interval.text) + } + + if interval.xmin != 0.0 && interval.xmin != 1.0 && interval.xmin != 2.0 { + t.Errorf("Expected 0.0, 1.0, or 2.0, got %f", interval.xmin) + } + + if interval.xmax != 1.0 && interval.xmax != 2.0 && interval.xmax != 3.0 { + t.Errorf("Expected 1.0, 2.0, or 3.0, got %f", interval.xmax) + } + } + + if !t.Failed() { + t.Logf("intervals set successfully") + } +}