diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..9306042 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,7 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "1.15.0", + "configurations": [] +} \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..c19184b --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/debugging-workshop + +go 1.14 diff --git a/main.go b/main.go index b37c814..712801b 100644 --- a/main.go +++ b/main.go @@ -82,10 +82,16 @@ func evaluateSignal(signal []int) string { } else if i == maxDigit-1 { break } else { - result = evaluateNode(result, signal[i+1]) + result = evaluateNode(signal[i], signal[i+1]) } } + // if signal[maxDigit-1] == 1 && result != 1 { + // return fmt.Sprintf("someting's wrong good %d", result) + // } else if signal[maxDigit-1] == 0 && result != 0 { + // return fmt.Sprintf("someting's wrong bad %d", result) + // } + if result == 1 { return "good" } else { @@ -95,9 +101,13 @@ func evaluateSignal(signal []int) string { func evaluateNode(node1, node2 int) int { switch { - case node2 > node1: + // case node2 > node1: + // return 1 + // case node2 < node1: + // return 0 + case node2 == 1: return 1 - case node2 < node1: + case node2 == 0: return 0 default: return 0 diff --git a/main_test.go b/main_test.go index 95db6fe..b8146cc 100644 --- a/main_test.go +++ b/main_test.go @@ -17,9 +17,9 @@ func Test_validateSignal(t *testing.T) { { name: "good signal", args: args{ - signal: []int{1, 0, 1, 0, 0, 1}, + signal: []int{1, 1, 1, 1, 0, 0}, }, - want: "good", + want: "bad", }, { name: "bad signal",