evcc-io/meter/meter_test.go

43 lines
918 B
Go

package meter
import (
"testing"
"github.com/evcc-io/evcc/api"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestPV(t *testing.T) {
m, err := NewConfigurableFromConfig(t.Context(), map[string]any{
"power": map[string]any{
"source": "const",
"value": 1000,
},
"maxacpower": 1000,
})
require.NoError(t, err)
// must not have soc/capacity
_, ok := api.Cap[api.MaxACPowerGetter](m)
assert.True(t, ok, "MaxACPowerGetter")
}
func TestBattery(t *testing.T) {
m, err := NewConfigurableFromConfig(t.Context(), map[string]any{
"power": map[string]any{
"source": "const",
"value": 1000,
},
"capacity": 23,
"soc": map[string]any{
"source": "const",
"value": 47,
},
})
require.NoError(t, err)
_, ok := api.Cap[api.Battery](m)
assert.True(t, ok, "Battery")
_, ok = api.Cap[api.BatteryCapacity](m)
assert.True(t, ok, "BatteryCapacity")
}