Package org.opentrafficsim.draw.graphs
Class ContourPlotTest
java.lang.Object
org.opentrafficsim.draw.graphs.ContourPlotTest
- All Implemented Interfaces:
org.djunits.unit.util.UNITS
Test the non-GUI part of the ContourPlot class.
Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Peter Knoppers
-
Field Summary
Modifier and TypeFieldDescription(package private) nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEventInterface<org.djunits.value.vdouble.scalar.Duration>
(package private) org.opentrafficsim.kpi.interfaces.LaneData<?>
(package private) org.opentrafficsim.kpi.interfaces.LaneData<?>
(package private) org.opentrafficsim.draw.graphs.GraphPath<org.opentrafficsim.kpi.interfaces.LaneData<?>>
Mocked GraphPath.(package private) org.opentrafficsim.kpi.sampling.SamplerData
(package private) org.opentrafficsim.draw.graphs.PlotScheduler
(package private) org.opentrafficsim.core.dsol.OtsSimulatorInterface
(package private) org.opentrafficsim.draw.graphs.GraphPath.Section<org.opentrafficsim.kpi.interfaces.LaneData<?>>
(package private) org.opentrafficsim.draw.graphs.GraphPath.Section<org.opentrafficsim.kpi.interfaces.LaneData<?>>
Fields inherited from interface org.djunits.unit.util.UNITS
ABAMPERE, ABCOULOMB, ABOHM, ABVOLT, ACRE, AMPERE, AMPERE_HOUR, ANGSTROM, ANGSTROM_ABS, ARCMINUTE, ARCMINUTE_PER_SECOND, ARCMINUTE_PER_SECOND_SQUARED, ARCSECOND, ARCSECOND_PER_SECOND, ARCSECOND_PER_SECOND_SQUARED, ARE, ASTRONOMICAL_UNIT, ASTRONOMICAL_UNIT_ABS, ATMOSPHERE_STANDARD, ATMOSPHERE_TECHNICAL, ATOMIC_UNIT, BAR, BARYE, BASE_DAY, BASE_HOUR, BASE_MICROSECOND, BASE_MILLISECOND, BASE_MINUTE, BASE_SECOND, BASE_WEEK, BECQUEREL, BTU_ISO, BTU_IT, CALORIE, CALORIE_IT, CANDELA, CENTESIMAL_ARCMINUTE, CENTESIMAL_ARCMINUTE_PER_SECOND, CENTESIMAL_ARCMINUTE_SQUARED, CENTESIMAL_ARCSECOND, CENTESIMAL_ARCSECOND_PER_SECOND, CENTESIMAL_ARCSECOND_PER_SECOND_SQUARED, CENTIARE, CENTIMETER, CENTIMETER_ABS, CENTIMETER_MERCURY, COULOMB, CUBIC_CENTIMETER, CUBIC_DECAMETER, CUBIC_DECIMETER, CUBIC_FEET_PER_MINUTE, CUBIC_FEET_PER_SECOND, CUBIC_FOOT, CUBIC_HECTOMETER, CUBIC_INCH, CUBIC_INCH_PER_MINUTE, CUBIC_INCH_PER_SECOND, CUBIC_KILOMETER, CUBIC_LIGHTYEAR, CUBIC_METER, CUBIC_METER_PER_DAY, CUBIC_METER_PER_HOUR, CUBIC_METER_PER_MINUTE, CUBIC_METER_PER_SECOND, CUBIC_MILE, CUBIC_MILLIMETER, CUBIC_NAUTICAL_MILE, CUBIC_PARSEC, CUBIC_YARD, CURIE, DALTON, DAY, DECAMETER, DECAMETER_ABS, DECIMETER, DECIMETER_ABS, DEGREE, DEGREE_CELSIUS, DEGREE_CELSIUS_ABS, DEGREE_FAHRENHEIT, DEGREE_FAHRENHEIT_ABS, DEGREE_PER_SECOND, DEGREE_PER_SECOND_SQUARED, DEGREE_RANKINE, DEGREE_RANKINE_ABS, DEGREE_REAUMUR, DEGREE_REAUMUR_ABS, DYNE, EAST_DEGREE, EAST_RADIAN, EMU, ENERGY_ELECTRONVOLT, ENERGY_GIGAELECTRONVOLT, ENERGY_KILOELECTRONVOLT, ENERGY_MEGAELECTRONVOLT, ENERGY_MICROELECTRONVOLT, ENERGY_MILLIELECTRONVOLT, EPOCH_DAY, EPOCH_HOUR, EPOCH_J2000_SECOND, EPOCH_MICROSECOND, EPOCH_MILLISECOND, EPOCH_MINUTE, EPOCH_SECOND, EPOCH_WEEK, EPOCH_YEAR1_SECOND, ERG, ERG_PER_GRAM, ERG_PER_SECOND, ESU, FARAD, FARADAY, FLUID_OUNCE_IMP, FLUID_OUNCE_US, FOOT, FOOT_ABS, FOOT_MERCURY, FOOT_PER_HOUR, FOOT_PER_MINUTE, FOOT_PER_SECOND, FOOT_PER_SECOND_2, FOOT_POUND_FORCE, FOOT_POUND_FORCE_PER_HOUR, FOOT_POUND_FORCE_PER_MINUTE, FOOT_POUND_FORCE_PER_SECOND, FRANKLIN, GAL, GALLON_IMP, GALLON_US, GALLON_US_PER_DAY, GALLON_US_PER_HOUR, GALLON_US_PER_MINUTE, GALLON_US_PER_SECOND, GAUSS, GIGABECQUEREL, GIGAHERTZ, GIGAJOULE, GIGAOHM, GIGAVOLT, GIGAWATT, GIGAWATT_HOUR, GRAD, GRAD_PER_SECOND, GRAD_PER_SECOND_SQUARED, GRAM, GRAM_PER_CENTIMETER_3, GRAY, HECTARE, HECTOMETER, HECTOMETER_ABS, HECTOPASCAL, HENRY, HERTZ, HORSEPOWER_METRIC, HOUR, INCH, INCH_ABS, INCH_MERCURY, INCH_PER_HOUR, INCH_PER_MINUTE, INCH_PER_SECOND, INCH_PER_SECOND_2, INCH_POUND_FORCE, JOULE, KATAL, KELVIN, KELVIN_ABS, KG_PER_METER_3, KGF_PER_SQUARE_MM, KILOAMPERE, KILOAMPERE_HOUR, KILOBECQUEREL, KILOCALORIE, KILOGRAM, KILOGRAM_FORCE, KILOGRAM_METER_PER_SECOND, KILOGRAM_PER_SECOND, KILOHERTZ, KILOJOULE, KILOLUX, KILOMETER, KILOMETER_ABS, KILOOHM, KILOPASCAL, KILOVOLT, KILOWATT, KILOWATT_HOUR, KM_PER_HOUR, KM_PER_HOUR_2, KM_PER_SECOND, KNOT, KNOT_PER_SECOND, LIGHTYEAR, LIGHTYEAR_ABS, LITER, LITER_PER_DAY, LITER_PER_HOUR, LITER_PER_MINUTE, LITER_PER_SECOND, LUMEN, LUX, MASS_ELECTRONVOLT, MASS_GIGAELECTRONVOLT, MASS_KILOELECTRONVOLT, MASS_MEGAELECTRONVOLT, MASS_MICROELECTRONVOLT, MASS_MILLIELECTRONVOLT, MAXWELL, MEGAAMPERE, MEGAAMPERE_HOUR, MEGABECQUEREL, MEGAHERTZ, MEGAJOULE, MEGAOHM, MEGAVOLT, MEGAWATT, MEGAWATT_HOUR, METER, METER_ABS, METER_KILOGRAM_FORCE, METER_PER_HOUR, METER_PER_SECOND, METER_PER_SECOND_2, MICROAMPERE, MICROCOULOMB, MICROCURIE, MICROFARAD, MICROGRAM, MICROGRAY, MICROHENRY, MICROJOULE, MICROKATAL, MICROLUX, MICROMETER, MICROMETER_ABS, MICROMOLE, MICROOHM, MICROSECOND, MICROSIEMENS, MICROSIEVERT, MICROTESLA, MICROVOLT, MICROWATT, MICROWATT_HOUR, MICROWEBER, MILE, MILE_ABS, MILE_PER_HOUR, MILE_PER_HOUR_2, MILE_PER_HOUR_PER_SECOND, MILE_PER_MINUTE, MILE_PER_SECOND, MILE_PER_SECOND_2, MILLIAMPERE, MILLIAMPERE_HOUR, MILLIAMPERE_SECOND, MILLIBAR, MILLICOULOMB, MILLICURIE, MILLIFARAD, MILLIGRAM, MILLIGRAY, MILLIHENRY, MILLIJOULE, MILLIKATAL, MILLILUX, MILLIMETER, MILLIMETER_ABS, MILLIMETER_MERCURY, MILLIMOLE, MILLIOHM, MILLISECOND, MILLISIEMENS, MILLISIEVERT, MILLITESLA, MILLIVOLT, MILLIWATT, MILLIWATT_HOUR, MILLIWEBER, MINUTE, MOLE, NANOCURIE, NANOFARAD, NANOHENRY, NANOKATAL, NANOMETER, NANOMETER_ABS, NANOMOLE, NANOSIEMENS, NANOTESLA, NANOWEBER, NAUTICAL_MILE, NAUTICAL_MILE_ABS, NEWTON, NEWTON_METER, NORTH_DEGREE, NORTH_RADIAN, NOX, OHM, OUNCE, OUNCE_FORCE, PARSEC, PARSEC_ABS, PASCAL, PER_ANGSTROM, PER_ASTRONOMICAL_UNIT, PER_CENTIMETER, PER_DAY, PER_DECAMETER, PER_DECIMETER, PER_FOOT, PER_HECTOMETER, PER_HOUR, PER_INCH, PER_KILOMETER, PER_LIGHTYEAR, PER_METER, PER_MICROMETER, PER_MICROSECOND, PER_MILE, PER_MILLIMETER, PER_MILLISECOND, PER_MINUTE, PER_NAUTICAL_MILE, PER_PARSEC, PER_SECOND, PER_WEEK, PER_YARD, PERCENT, PETABECQUEREL, PETAJOULE, PETAWATT, PETAWATT_HOUR, PHOT, PICOFARAD, PIEZE, PINT_IMP, PINT_US, POUND, POUND_FOOT, POUND_FORCE, POUND_INCH, POUND_PER_SECOND, POUND_PER_SQUARE_FOOT, POUND_PER_SQUARE_INCH, QUART_IMP, QUART_US, RAD, RADIAN, RADIAN_PER_SECOND, RADIAN_PER_SECOND_SQUARED, REM, RPM, RUTHERFORD, SECOND, SIEMENS, SIEVERT, SQUARE_CENTIMETER, SQUARE_DECAMETER, SQUARE_DECIMETER, SQUARE_DEGREE, SQUARE_FOOT, SQUARE_HECTOMETER, SQUARE_INCH, SQUARE_KILOMETER, SQUARE_METER, SQUARE_MILE, SQUARE_MILLIMETER, SQUARE_NAUTICAL_MILE, SQUARE_YARD, STANDARD_GRAVITY, STATAMPERE, STATCOULOMB, STATOHM, STATVOLT, STERADIAN, STHENE, STHENE_METER, STHENE_METER_PER_SECOND, TERABECQUEREL, TERAHERTZ, TERAJOULE, TERAWATT, TERAWATT_HOUR, TESLA, TON_FORCE, TON_LONG, TON_METRIC, TON_SHORT, TONNE, TORR, UNIT, VOLT, WATT, WATT_HOUR, WEBER, WEEK, YARD, YARD_ABS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
Test the ContourPlotAcceleration.final void
Test the ContourPlotDensity.final void
Test the ContourPlotFlow.static void
Run the DensityContourPlot stand-alone for profiling.(package private) static void
printMatrix
(org.opentrafficsim.draw.graphs.AbstractContourPlot<?> cp, int fromX, int toX, int fromY, int toY) Debugging method.final void
setUp()
Code common to all contour plot tests.final void
Test the SpeedContourPlot.static void
standardContourTests
(org.opentrafficsim.core.dsol.OtsSimulatorInterface simulator, org.opentrafficsim.draw.graphs.AbstractContourPlot<?> cp, org.opentrafficsim.draw.graphs.GraphPath<?> path, double expectedZValue, double expectedZValueWithTraffic) Test various properties of a ContourPlot that has no observed data added.
-
Field Details
-
mockedPath
org.opentrafficsim.draw.graphs.GraphPath<org.opentrafficsim.kpi.interfaces.LaneData<?>> mockedPathMocked GraphPath. -
section0
org.opentrafficsim.draw.graphs.GraphPath.Section<org.opentrafficsim.kpi.interfaces.LaneData<?>> section0 -
section1
org.opentrafficsim.draw.graphs.GraphPath.Section<org.opentrafficsim.kpi.interfaces.LaneData<?>> section1 -
mockedLane0
org.opentrafficsim.kpi.interfaces.LaneData<?> mockedLane0 -
mockedLane1
org.opentrafficsim.kpi.interfaces.LaneData<?> mockedLane1 -
mockedSamplerData
org.opentrafficsim.kpi.sampling.SamplerData mockedSamplerData -
mockedSimulator
org.opentrafficsim.core.dsol.OtsSimulatorInterface mockedSimulator -
mockedScheduler
org.opentrafficsim.draw.graphs.PlotScheduler mockedScheduler -
lastScheduledEvent
nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEventInterface<org.djunits.value.vdouble.scalar.Duration> lastScheduledEvent
-
-
Constructor Details
-
ContourPlotTest
public ContourPlotTest()
-
-
Method Details
-
setUp
Code common to all contour plot tests.- Throws:
nl.tudelft.simulation.dsol.SimRuntimeException
- if that happens uncaught; this test has failedNamingException
- on error
-
accelerationContourTest
Test the ContourPlotAcceleration.- Throws:
Exception
- when something goes wrong (should not happen)
-
densityContourTest
Test the ContourPlotDensity.- Throws:
Exception
- when something goes wrong (should not happen)
-
flowContourTest
Test the ContourPlotFlow.- Throws:
Exception
- when something goes wrong (should not happen)
-
speedContourTest
Test the SpeedContourPlot.- Throws:
Exception
- when something goes wrong (should not happen)
-
printMatrix
static void printMatrix(org.opentrafficsim.draw.graphs.AbstractContourPlot<?> cp, int fromX, int toX, int fromY, int toY) Debugging method.- Parameters:
cp
- AbstractContourPlot<?>; a contour plotfromX
- int; lower bound of the x coordinate to print (inclusive)toX
- int; upper bound of the x coordinate to print (inclusive)fromY
- int; lower bound of the y coordinate to print (inclusive)toY
- int; upper bound of the y coordinate to print (inclusive)
-
standardContourTests
public static void standardContourTests(org.opentrafficsim.core.dsol.OtsSimulatorInterface simulator, org.opentrafficsim.draw.graphs.AbstractContourPlot<?> cp, org.opentrafficsim.draw.graphs.GraphPath<?> path, double expectedZValue, double expectedZValueWithTraffic) throws Exception Test various properties of a ContourPlot that has no observed data added.- Parameters:
simulator
- OtsSimulatorInterface; the simulatorcp
- AbstractContourPlot<?>; the ContourPlot to testpath
- GraphPath<?>; the pathexpectedZValue
- double; the value that getZ and getZValue should return for a valid item when no car has passedexpectedZValueWithTraffic
- double; the value that getZ and getZValue should return a valid item where a car has traveled at constant speed of 50 km/h. Supply Double.NaN if the value varies but differs from the value expected when no car has passed- Throws:
Exception
- when something goes wrong (should not happen)
-
main
Run the DensityContourPlot stand-alone for profiling.- Parameters:
args
- String[]; the command line arguments (not used)- Throws:
Exception
- when something goes wrong (should not happen)
-