unipdf/creator/paragraph_test.go
2019-05-16 20:44:51 +00:00

36 lines
926 B
Go

/*
* This file is subject to the terms and conditions defined in
* file 'LICENSE.md', which is part of this source code package.
*/
package creator
import (
"bytes"
"fmt"
"testing"
"github.com/stretchr/testify/require"
)
func benchmarkParagraphAdding(b *testing.B, loops int) {
for n := 0; n < b.N; n++ {
c := New()
for i := 0; i < loops; i++ {
p := c.NewParagraph(fmt.Sprintf("Paragraph %d - %d", n, i))
err := c.Draw(p)
require.NoError(b, err)
}
var buf bytes.Buffer
err := c.Write(&buf)
require.NoError(b, err)
}
}
// Benchmark adding multiple paragraphs and writing out.
// Check the effects of varying number of paragraphs written out.
func BenchmarkParagraphAdding1(b *testing.B) { benchmarkParagraphAdding(b, 1) }
func BenchmarkParagraphAdding10(b *testing.B) { benchmarkParagraphAdding(b, 10) }
func BenchmarkParagraphAdding100(b *testing.B) { benchmarkParagraphAdding(b, 100) }