Skip to content

Commit

Permalink
tests: add tests for sophia.Schema
Browse files Browse the repository at this point in the history
  • Loading branch information
pnevezhin committed Feb 10, 2017
1 parent f0e8712 commit db74a4d
Showing 1 changed file with 53 additions and 1 deletion.
54 changes: 53 additions & 1 deletion database_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const (
RecordsCountBench = 5000000
)

func TestSophiaDatabaseCRUD(t *testing.T) {
func TestDatabaseCRUD(t *testing.T) {
defer func() {
require.Nil(t, os.RemoveAll(DBPath))
}()
Expand Down Expand Up @@ -128,6 +128,58 @@ func testDelete(t *testing.T, db *Database) {
}
}

func TestSchemaDupKey(t *testing.T) {
schema := Schema{}
keyName := "key"
require.Nil(t, schema.AddKey(keyName, FieldTypeString))

require.Len(t, schema.keys, 1)
require.Len(t, schema.keysNames, 1)

require.Len(t, schema.values, 0)
require.Len(t, schema.valuesNames, 0)

require.Equal(t, FieldTypeString, schema.keys[keyName])
require.Equal(t, keyName, schema.keysNames[0])

require.NotNil(t, schema.AddKey(keyName, FieldTypeString))

require.Len(t, schema.keys, 1)
require.Len(t, schema.keysNames, 1)

require.Len(t, schema.values, 0)
require.Len(t, schema.valuesNames, 0)

require.Equal(t, FieldTypeString, schema.keys[keyName])
require.Equal(t, keyName, schema.keysNames[0])
}

func TestSchemaDupValue(t *testing.T) {
schema := Schema{}
valueName := "key"
require.Nil(t, schema.AddValue(valueName, FieldTypeString))

require.Len(t, schema.keys, 0)
require.Len(t, schema.keysNames, 0)

require.Len(t, schema.values, 1)
require.Len(t, schema.valuesNames, 1)

require.Equal(t, FieldTypeString, schema.values[valueName])
require.Equal(t, valueName, schema.valuesNames[0])

require.NotNil(t, schema.AddValue(valueName, FieldTypeString))

require.Len(t, schema.keys, 0)
require.Len(t, schema.keysNames, 0)

require.Len(t, schema.values, 1)
require.Len(t, schema.valuesNames, 1)

require.Equal(t, FieldTypeString, schema.values[valueName])
require.Equal(t, valueName, schema.valuesNames[0])
}

func TestSetIntKV(t *testing.T) {
defer func() {
require.Nil(t, os.RemoveAll(DBPath))
Expand Down

0 comments on commit db74a4d

Please sign in to comment.