1. An apparatus comprising:
a load-bearing platform for holding a container with material;
a first sensor coupled to the platform, wherein the first sensor is configured to generate readings that vary with load placed on the platform;
a second sensor configured to measure an ambient condition;
a communications port;
a memory operable to store a set of computer instructions; and
a processor operable to execute the computer instructions to:
receive a first reading from the first sensor;
receive a second reading from the second sensor;
determine a first quantity of a first material that has been placed on the platform based on the first reading and based on the second reading; and
cause an indication of the first quantity to be transmitted to an external entity via the communications port.
2. The apparatus of claim 1 further comprising a user interface configured to allow a user to store in the memory, one or more predetermined values affecting the determination of the first quantity; in which, in determining the first quantity, the processor is operable to determine the first quantity of the first material based on the first reading, the second reading, and the one or more predetermined values.
3. The apparatus of claim 1, further comprising:
a battery; and
a battery optimization module to conserve the battery used to charge the apparatus.
4. The apparatus of claim 1, wherein the first sensor is one of: a load cell, a strain gauge load cell, a hydraulic load cell, a piezoelectric load cell, a vibrating wire load cell, a pressure gauge, and a capacitive load cell.
5. The apparatus of claim 1 further including guard members configured to hold in place on the platform a container of liquid or gaseous fuel.
6. The apparatus of claim 1 in which the second reading is one of: (a) a creep value; (b) a zero-balance factor; (c) a temperature factor; and (d) a tank variance factor.
7. The apparatus of claim 1 in which, in determining the first quantity of the first material, the processor is further operable to:
determine a tentative quantity based on the first reading;
determine an error based on the second reading; and
adjust the tentative quantity by the amount of the error in order to arrive at the first quantity.
8. The apparatus of claim 7 in which the memory stores a Calibration Temperature, in which the second reading is a temperature, and in which, in determining the error, the processor is operable to use the formula 0.25\xb0 F.S*(Current Temperature\u2212Calibration Temperature)10.
9. The apparatus of claim 7 in which, in determining the error, the processor is operable to:
determine a trend in measurements of quantity of the material and interpolate a final creep value after a fixed period of time;
store and retrieve predetermined calibration data to adjust the determined first quantity of the material;
adjust the determined first quantity of the material by executing one or more temperature and weight dependent formulas; and
calculate a percent of the material and time remaining by using a predetermined minimum container weight.
10. The apparatus of claim 1 in which the external entity is one of: (a) a server; (b) a computing device; and (c) a person.
11. The apparatus of claim 1 in which the communications port is one of: (a) a wireless transceiver; (b) an ethernet port; (c) a cellular transceiver; (d) a Wi-Fi transceiver; and (e) a Bluetooth transceiver.
12. The apparatus of claim 1 where in the second sensor is configured to measure an ambient temperature.
13. The apparatus of claim 1 further comprising a display, in which the processor is further operable to cause the display to show the indication of the quantity.
14. The apparatus of claim 1 in which the processor is further operable to:
receive a third reading from the first sensor at a time later than a time of the first reading;
receive a fourth reading from the second sensor at a time later than a time of the second reading;
determine a second quantity of the first material based on the third reading and based on the fourth reading; and
cause an indication of the second quantity to be transmitted to an external entity via the communications port.
15. The apparatus of claim 14, further comprising an output device, in which the processor is further operable to:
determine a difference between the second quantity and the first quantity;
determine a rate of material depletion based on the difference between the second quantity and the first quantity, and based on the elapsed time between the time of the third reading and the time of the first reading;
determine a fifth time at which the material will be fully depleted; and
cause an indication of the fifth time to be shown on the output device.
16. The apparatus of claim 14, further comprising an output device, in which the processor is further operable to:
determine a difference between the second quantity and the first quantity;
determine a rate of material depletion based on the difference between the second quantity and the first quantity, and based on the elapsed time between the time of the third reading and the time of the first reading;
determine a fifth time at which the material will be fully depleted; and
cause the output device to broadcast an alert if the fifth time is within a predetermined time.
17. The apparatus of claim 14, further comprising an output device, in which the processor is further operable to:
determine a difference between the second quantity and the first quantity;
determine a rate of material depletion based on the difference between the second quantity and the first quantity, and based on the elapsed time between the time of the third reading and the time of the first reading; and
cause the output device to display an informative message, the message including one of:
a suggestion to refill the container;
a suggestion to change the container;
a suggestion to perform maintenance on the container;
an indication of material consumption over time;
an indication of the rate of consumption of the material for a family;
an indication of consumption the material for a season;
an indication of consumption of the material for a specific geography;
an indication of when consumption of the material is being tracked.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for testing user interactive controls in a graphical user interface (GUI) of an application under test (AUT) that provides an accessibility framework, executed on a computer system, comprising:
determining properties of GUI controls in an AUT comprising using an accessibility application programming interface (API) to crawl an AUT to expose the AUT’s control properties using the AUT’s accessibility support framework;
determining a set of valid events for an identified control based on the control’s properties;
defining input data parameters for the set of events for a control;
determining input data equivalence partitions for the set of events for a control based on the defined parameters; and
using the accessibility API to test a desired control comprising performing one or more desired events in the desired control using desired input data from the equivalence partitions.
2. The method of claim 1, comprising:
identifying a desired control in a GUI of an AUT; and
determining properties of the desired control using the accessibility API to expose the desired control’s properties by utilizing the AUT’s accessibility support framework.
3. The method of claim 1, determining a set of valid events for an identified control comprising using a pre-generated hash map of events that can be performed on GUI controls to determine valid events for the identified control in the AUT.
4. The method of claim 1, determining a set of valid events for an identified control comprising looking up valid events from an extensible markup language (XML) file associated with the AUT.
5. The method of claim 1, using the accessibility API to activate controls from the GUI comprising passing control handles to the API, the control handles comprising an event for a control and user chosen input data for the event.
6. The method of claim 1, defining parameters of input data for respective retrieved element comprising:
defining a type of input data; and
defining limitations for the type of input data.
7. The method of claim 1, comprising recording accessibility API testing of respective GUI controls.
8. The method of claim 7, comprising suggesting an alternate valid event in a control under test if there is a break in automation of a playback of a recorded test due to a change in the control under test.
9. The method of claim 1, comprising creating control coverage metrics that identify AUT controls covered by the accessibility API testing.
10. The method of claim 9, comprising:
retrieving respective user interactive controls from the AUT using the accessibility API;
determining types of respective user interactive controls;
determining whether testing has been performed on respective user interactive controls using the accessibility API; and
assembling results of testing coverage for respective controls in the AUT.
11. The method of claim 1, comprising:
providing a tester with a selection of alternate events for events that have been retrieved for respective controls; and
allowing a tester to select an alternate event for testing the control.
12. The method of claim 1, comprising providing for a tester to select desired combinations of events and controls to be tested that are different than ones suggested from the determined valid events.
13. A system for testing user interactive controls in a graphical user interface (GUI) of an application under test (AUT) while mitigating manual testing, comprising:
an AUT crawl component configured to use an accessibility application programming interface (API), in conjunction with the AUT’s accessibility support framework, to identify user interactive GUI controls in the AUT and expose and return properties of the identified controls the AUT’s;
a control events identifier configured to identify a set of valid events for an indentified control from the AUT, based on the identified control’s properties;
an input data parameter defining component configured to define parameters of input data for identified events;
an input data equivalence partition component configured to identify input data equivalence partitions for identified events based on the defined parameters; and
an accessibility API test request component configured to request an accessibility API to execute a desired control using one or more desired events and desired corresponding input data from the equivalence partitions.
14. The system of claim 13, comprising a coverage metric creation component configured to create control coverage metrics that identify AUT controls covered by the accessibility API testing.
15. The system of claim 13, the input data parameter defining component comprising a user interface configured to allow a tester to define parameters of the input data to be used in testing the respective events in a control.
16. The system of claim 15, comprising an input data selection component comprising a user interface configured to allow a tester to choose which of a set of suggested input data to use in a test of an event in a control.
17. The system of claim 13, comprising an event suggestion component configured to suggest one or more events for testing for respective controls to a tester.
18. The system of claim 17, comprising an alternate event selection component configured to allow a tester to select an alternate valid event for testing a control than that which was suggested by the event suggestion component.
19. The system of claim 13, comprising a test recording component configured to record GUI control tests run by the accessibility API.
20. Computer usable medium comprising computer executable instructions configured to test user interactive controls in a graphical user interface (GUI) of an application under test (AUT), while mitigating manual testing, which when stored in a compute system’s memory and executed on the computer system, cause the computing system to:
use an accessibility application programming interface (API), stored in a computer system’s memory and executed on the computer system, to query an AUT for GUI controls;
identify object classes of respective controls returned from the query to the accessibility API;
retrieve a set of events for respective indentified control classes from the AUT;
provide a tester with a selection of alternate events for events that have been retrieved for respective controls;
allow a tester to select an alternate event for testing the control;
define a type and limitation of input data for respective retrieved events;
determine input data equivalence partitions for respective events based on the defined parameters;
use the accessibility API, stored in the computer system’s memory and executed on the computer system, to test respective controls comprising activating GUI controls for respective events using input data from equivalence partitions;
record accessibility API testing of respective GUI controls;
suggest an alternate valid event in a control under test if there is a break in automation of a playback of a recorded test due to a change in the control under test; and
create control coverage metrics that identify AUT controls covered by the accessibility API testing, comprising:
retrieving information from the AUT that lists user interactive controls for the AUT;
query AUT interactive controls to determine type of control and whether testing has been performed; and
assembling results of testing coverage for respective controls in the AUT.