Commit 64d18bf4 authored by Jaden's avatar Jaden Committed by Samuel GAIST

[plotterparameter] add plotterparameter type

Adds schema file, beat.core integration, test files & tests

Closes #66
parent b263c4d8
Pipeline #29414 passed with stage
in 17 minutes and 59 seconds
This diff is collapsed.
{
"plotter": "plot/unknown/1",
"description": "",
"data": {}
}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Plotter configurator descriptor",
"description": "This schema defines the properties of a plotter configuration file",
"type": "object",
"properties": {
"description": { "$ref": "../common/1.json#/definitions/description" },
"plotter": {"$ref": "../common/1.json#/definitions/reference"},
"data": {"$ref": "../experiment/common.json#/definitions/parameter_set"},
"schema_version": { "$ref": "../common/1.json#/definitions/version" }
},
"required": [
"plotter",
"data"
],
"additionalProperties": false
}
{
"plotter": "user/scatter/1",
"description": "A plotterparameter for the built-in scatter plotter",
"data":
{
"grid": true,
"legend": "test data",
"mimetype": "image/jpeg",
"yaxis_multiplier": 2.5
}
}
{
"plotter": "user/scatter/1",
"description": "An invalid plotterparameter for the scatter plotter",
"data":
{
"not_an_option": 2.5
}
}
{
"plotter": "user/not_a_plotter/1",
"description": "A plotterparameter for a non-existant plotter",
"data":
{
}
}
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
###################################################################################
# #
# Copyright (c) 2019 Idiap Research Institute, http://www.idiap.ch/ #
# Contact: beat.support@idiap.ch #
# #
# Redistribution and use in source and binary forms, with or without #
# modification, are permitted provided that the following conditions are met: #
# #
# 1. Redistributions of source code must retain the above copyright notice, this #
# list of conditions and the following disclaimer. #
# #
# 2. Redistributions in binary form must reproduce the above copyright notice, #
# this list of conditions and the following disclaimer in the documentation #
# and/or other materials provided with the distribution. #
# #
# 3. Neither the name of the copyright holder nor the names of its contributors #
# may be used to endorse or promote products derived from this software without #
# specific prior written permission. #
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED #
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE #
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE #
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL #
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR #
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER #
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, #
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #
# #
###################################################################################
import nose.tools
from . import prefix
from ..plotterparameter import Plotterparameter
def test_default():
# test for the "dummy" plotterparameter
p = Plotterparameter(prefix, data=None)
nose.tools.assert_false(p.valid)
def test_plot_config_1():
# test for a simple plotterparameter for a simple plotter
p = Plotterparameter(prefix, "plot/config/1")
nose.tools.assert_true(p.valid, "\n * %s" % "\n * ".join(p.errors))
def test_plot_invalid_1():
# test for invalid parameter name
p = Plotterparameter(prefix, "plot/invalid/1")
nose.tools.assert_false(p.valid)
nose.tools.assert_true(p.errors[0] == "'not_an_option' isn't a parameter for plotter user/scatter/1")
def test_plot_invalid_2():
# test for invalid "plotter" field
p = Plotterparameter(prefix, "plot/invalid/2")
nose.tools.assert_false(p.valid)
nose.tools.assert_true(p.errors[0] == "Plotter declaration file not found: user/not_a_plotter/1")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment