MCPcopy Index your code
hub / github.com/LissaGreense/GO4SQL / runTestSuite

Method runTestSuite

engine/engine_test.go:979–1025  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

977}
978
979func (engineTestSuite *engineTableContentTestSuite) runTestSuite(t *testing.T) {
980 expectedSequencesNumber := 0
981
982 input := inputsToString(engineTestSuite.createInputs) + inputsToString(engineTestSuite.insertAndDeleteInputs)
983
984 sequencesWithoutSelect := getSequences(input)
985 selectCommand := getSequences(engineTestSuite.selectInput)
986
987 expectedSequencesNumber += len(engineTestSuite.createInputs) + len(engineTestSuite.insertAndDeleteInputs) + 1
988
989 if len(sequencesWithoutSelect.Commands)+len(selectCommand.Commands) != expectedSequencesNumber {
990 t.Fatalf("sequences does not contain %d statements. got=%d", expectedSequencesNumber, len(sequencesWithoutSelect.Commands))
991 }
992
993 engine := New()
994 _, err := engine.Evaluate(sequencesWithoutSelect)
995 if err != nil {
996 log.Fatal(err)
997 }
998 actualTable, err := engine.getSelectResponse(selectCommand.Commands[0].(*ast.SelectCommand))
999 if err != nil {
1000 log.Fatal(err)
1001 }
1002
1003 if len(engineTestSuite.expectedOutput) == 0 {
1004 if len(actualTable.Columns[0].Values) != 0 {
1005 t.Fatalf("Number of rows is incorrect, should be 0, got %d", len(actualTable.Columns))
1006 }
1007 } else {
1008 if len(actualTable.Columns) != len(engineTestSuite.expectedOutput[0]) {
1009 t.Fatalf("Number of columns is incorrect, expecting %d, got %d", len(engineTestSuite.expectedOutput[0]), len(actualTable.Columns))
1010 }
1011
1012 if len(actualTable.Columns[0].Values) != len(engineTestSuite.expectedOutput)-1 {
1013 t.Fatalf("Number of rows is incorrect, expecting %d, got %d", len(engineTestSuite.expectedOutput)-1, len(actualTable.Columns[0].Values))
1014 }
1015
1016 for iColumn := 0; iColumn < len(actualTable.Columns); iColumn++ {
1017 for iRow := 0; iRow < len(actualTable.Columns[0].Values); iRow++ {
1018 if engineTestSuite.expectedOutput[iRow+1][iColumn] != actualTable.Columns[iColumn].Values[iRow].ToString() {
1019 t.Fatalf("Value doesn't match, expected: %s, got: %s", engineTestSuite.expectedOutput[iRow+1][iColumn], actualTable.Columns[iColumn].Values[iRow].ToString())
1020 }
1021 }
1022 }
1023 }
1024
1025}
1026
1027func inputsToString(inputs []string) string {
1028 input := ""

Calls 6

inputsToStringFunction · 0.85
getSequencesFunction · 0.85
EvaluateMethod · 0.80
getSelectResponseMethod · 0.80
NewFunction · 0.70
ToStringMethod · 0.65

Tested by

no test coverage detected