-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathselector_test.go
More file actions
86 lines (75 loc) · 12.2 KB
/
selector_test.go
File metadata and controls
86 lines (75 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package consolizer
import (
"fmt"
"github.com/stretchr/testify/assert"
"github.com/supercom32/consolizer/constants"
"testing"
)
func TestSelectorRandomSelection(test *testing.T) {
layer1, _, _, styleEntry := CommonTestSetup()
selectionEntry := NewSelectionEntry()
selectionEntry.Add("Selection Alias 1", "Selection Text 1")
selectionEntry.Add("Selection Alias 2", "Selection Text 2")
selectionEntry.Add("Selection Alias 3", "Selection Text 3")
selectionEntry.Add("Selection Alias 4", "Selection Text 4")
selectorFieldInstance := layer1.AddSelector(styleEntry, selectionEntry, 2, 2, 4, 25, 1, 0, 1, true, true)
setFocusedControl(layer1.layerAlias, selectorFieldInstance.controlAlias, constants.CellTypeTextField)
UpdateDisplay(false)
layerEntry := commonResource.screenLayer
obtainedValue := layerEntry.GetBasicAnsiStringAsBase64()
expectedValue := "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MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtCg=="
obtainedValueBase64 := layerEntry.GetAnsiStringFromBase64(obtainedValue)
expectedValueBase64 := layerEntry.GetAnsiStringFromBase64(expectedValue)
if !assert.Equalf(test, expectedValue, obtainedValue, "The updated screen does not match the master original!") {
fmt.Println("Expected:\n", expectedValueBase64)
fmt.Println("Obtained:\n", obtainedValueBase64)
}
}
func TestSelectorLongList(test *testing.T) {
layer1, _, _, styleEntry := CommonTestSetup()
selectionEntry := NewSelectionEntry()
selectionEntry.Add("Selection Alias 1", "Selection Text 1")
selectionEntry.Add("Selection Alias 2", "Selection Text 2")
selectionEntry.Add("Selection Alias 3", "Selection Text 3")
selectionEntry.Add("Selection Alias 4", "Selection Text 4")
selectionEntry.Add("Selection Alias 5", "Selection Text 5")
selectionEntry.Add("Selection Alias 6", "Selection Text 6")
selectionEntry.Add("Selection Alias 7", "Selection Text 7")
selectionEntry.Add("Selection Alias 8", "Selection Text 8")
selectorFieldInstance := layer1.AddSelector(styleEntry, selectionEntry, 2, 2, 4, 25, 1, 0, 0, true, true)
setFocusedControl(layer1.layerAlias, selectorFieldInstance.controlAlias, constants.CellTypeTextField)
UpdateDisplay(false)
layerEntry := commonResource.screenLayer
obtainedValue := layerEntry.GetBasicAnsiStringAsBase64()
expectedValue := "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YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTUbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTUbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtChtbMzg7MjswOzA7MTI4bRtbNDg7MjswOzEyODsxMjhtYTFhG1szODsyOzI1NTsyNTU7MG0bWzQ4OzI7MjU1OzA7MG1hMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhG1szODsyOzA7MDswbRtbNDg7MjswOzA7MG0KG1szODsyOzA7MDsxMjhtG1s0ODsyOzA7MTI4OzEyOG1hMWEbWzM4OzI7MjU1OzI1NTswbRtbNDg7MjsyNTU7MDswbWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYTRhNWExYTJhM2EbWzM4OzI7MDswOzBtG1s0ODsyOzA7MDswbQobWzM4OzI7MDswOzEyOG0bWzQ4OzI7MDsxMjg7MTI4bWExYRtbMzg7MjsyNTU7MjU1OzBtG1s0ODsyOzI1NTswOzBtYTFhMmEzYTRhNWExYTJhM2E0YTVhMWEyYTNhNGE1YTFhMmEzYRtbMzg7MjswOzA7MG0bWzQ4OzI7MDswOzBtCg=="
obtainedValueBase64 := layerEntry.GetAnsiStringFromBase64(obtainedValue)
expectedValueBase64 := layerEntry.GetAnsiStringFromBase64(expectedValue)
if !assert.Equalf(test, expectedValue, obtainedValue, "The updated screen does not match the master original!") {
fmt.Println("Expected:\n", expectedValueBase64)
fmt.Println("Obtained:\n", obtainedValueBase64)
}
}
func TestGetAllItems(test *testing.T) {
layer1, _, _, styleEntry := CommonTestSetup()
selectionEntry := NewSelectionEntry()
// Add some items to the selection entry
expectedAliases := []string{"Alias 1", "Alias 2", "Alias 3", "Alias 4"}
expectedValues := []string{"Value 1", "Value 2", "Value 3", "Value 4"}
for i := 0; i < len(expectedAliases); i++ {
selectionEntry.Add(expectedAliases[i], expectedValues[i])
}
// Create a selector with the selection entry
selectorFieldInstance := layer1.AddSelector(styleEntry, selectionEntry, 2, 2, 4, 25, 1, 0, 0, true, true)
// Call GetAllItems and verify the results
aliases, values := selectorFieldInstance.GetAllItems()
// Check that the returned arrays match the expected values
assert.Equal(test, expectedAliases, aliases, "The returned aliases do not match the expected values")
assert.Equal(test, expectedValues, values, "The returned values do not match the expected values")
// Test with an empty selector
emptySelectionEntry := NewSelectionEntry()
emptySelectorFieldInstance := layer1.AddSelector(styleEntry, emptySelectionEntry, 10, 10, 4, 25, 1, 0, 0, true, true)
emptyAliases, emptyValues := emptySelectorFieldInstance.GetAllItems()
// Check that empty arrays are returned for an empty selector
assert.Empty(test, emptyAliases, "The returned aliases should be empty for an empty selector")
assert.Empty(test, emptyValues, "The returned values should be empty for an empty selector")
}