コード例 #1
0
ファイル: file_reader_test.go プロジェクト: bfontaine/jsons
func TestFileReaderOpenNonExistingFile(t *testing.T) {
	vanish.File(func(name string) {
		assert.Nil(t, os.Remove(name))

		fr := jsons.NewFileReader(name)

		assert.NotNil(t, fr.Open())
	})
}
コード例 #2
0
ファイル: file_reader_test.go プロジェクト: bfontaine/jsons
func TestFileReaderEmptyFile(t *testing.T) {
	vanish.File(func(name string) {
		fr := jsons.NewFileReader(name)

		assert.Nil(t, fr.Open())

		var m map[int]int

		assert.Equal(t, io.EOF, fr.Next(&m))
		assert.Nil(t, fr.Close())
	})
}
コード例 #3
0
ファイル: file_writer_test.go プロジェクト: bfontaine/jsons
func TestFileWriterCreateFileIfItDoesntExist(t *testing.T) {
	vanish.File(func(name string) {
		assert.Nil(t, os.Remove(name))

		fw := jsons.NewFileWriter(name)
		assert.NotNil(t, fw)

		assert.Nil(t, fw.Open())
		assert.Nil(t, fw.Close())

		_, err := os.Stat(name)
		assert.Nil(t, err)
	})
}
コード例 #4
0
ファイル: file_writer_test.go プロジェクト: bfontaine/jsons
func TestFileWriterAdd(t *testing.T) {
	vanish.File(func(name string) {
		fw := jsons.NewFileWriter(name)
		assert.NotNil(t, fw)

		assert.Nil(t, fw.Open())

		assert.Nil(t, fw.Add(map[string]string{"foo": "bar"}))
		assert.Nil(t, fw.Add(struct{ A float64 }{A: 42.3}))

		assert.Nil(t, fw.Close())

		content, err := ioutil.ReadFile(name)
		assert.Nil(t, err)

		assert.Equal(t, "{\"foo\":\"bar\"}\n{\"A\":42.3}\n", string(content))
	})
}
コード例 #5
0
ファイル: file_reader_test.go プロジェクト: bfontaine/jsons
func TestFileReaderNext(t *testing.T) {
	vanish.File(func(name string) {

		ioutil.WriteFile(name, []byte("{\"foo\": 17}\n"), 0644)

		fr := jsons.NewFileReader(name)

		assert.Nil(t, fr.Open())

		var m map[string]int

		assert.Nil(t, fr.Next(&m))
		assert.Equal(t, 17, m["foo"])

		assert.Equal(t, io.EOF, fr.Next(&m))
		assert.Nil(t, fr.Close())
	})
}