Skip to content

Commit

Permalink
check number of results
Browse files Browse the repository at this point in the history
  • Loading branch information
reuvenharrison committed Sep 15, 2024
1 parent 701a57c commit b236aa0
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 10 deletions.
9 changes: 1 addition & 8 deletions checker/generator/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package generator

import (
"io"
"os"
"slices"
"strings"

Expand All @@ -15,13 +14,7 @@ type MessageGenerator interface {

type Getter func() (MessageGenerator, error)

func Generate(getter Getter) error {
out, err := os.Create("messages.yaml")
if err != nil {
return err
}
defer out.Close()

func Generate(getter Getter, out io.Writer) error {
data, err := getter()
if err != nil {
return err
Expand Down
34 changes: 32 additions & 2 deletions checker/generator/generator_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,46 @@
package generator_test

import (
"bytes"
"io"
"os"
"testing"

"github.com/stretchr/testify/require"
"github.com/tufin/oasdiff/checker/generator"
)

func TestGenerator(t *testing.T) {
require.NoError(t, generator.Generate(generator.GetAll))
out, err := os.Create("messages.yaml")
require.NoError(t, err)
defer out.Close()

require.NoError(t, generator.Generate(generator.GetAll, out))
}

func TestTreeGenerator(t *testing.T) {
require.NoError(t, generator.Generate(generator.GetTree("tree.yaml")))
var out bytes.Buffer
require.NoError(t, generator.Generate(generator.GetTree("tree.yaml"), &out))
count, err := lineCounter(&out)
require.NoError(t, err)
require.Equal(t, 176, count)
}

func lineCounter(r io.Reader) (int, error) {
buf := make([]byte, 32*1024)
count := 0
lineSep := []byte{'\n'}

for {
c, err := r.Read(buf)
count += bytes.Count(buf[:c], lineSep)

switch {
case err == io.EOF:
return count, nil

case err != nil:
return count, err
}
}
}

0 comments on commit b236aa0

Please sign in to comment.