// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build !js package main import ( "testing" "time" ) func TestOverlappingDuration(t *testing.T) { cases := []struct { start0, end0, start1, end1 int64 want time.Duration }{ { 1, 10, 11, 20, 0, }, { 1, 10, 5, 20, 5 * time.Nanosecond, }, { 1, 10, 2, 8, 6 * time.Nanosecond, }, } for _, tc := range cases { s0, e0, s1, e1 := tc.start0, tc.end0, tc.start1, tc.end1 if got := overlappingDuration(s0, e0, s1, e1); got != tc.want { t.Errorf("overlappingDuration(%d, %d, %d, %d)=%v; want %v", s0, e0, s1, e1, got, tc.want) } if got := overlappingDuration(s1, e1, s0, e0); got != tc.want { t.Errorf("overlappingDuration(%d, %d, %d, %d)=%v; want %v", s1, e1, s0, e0, got, tc.want) } } }