IP Library Granted Patent US 10,747,648
Granted Patent B2
US 10,747,648 · App. 15/856,762 · Granted Aug 18, 2020

Mock object generation

Inventor: Brendan Joseph Clark (Seattle, WA)
Assignee: HOME BOX OFFICE, INC.
G06F11/3664G06F8/315G06F11/3684G06F11/3672
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,747,648
App. No.
15/856,762
Granted
Aug 18, 2020
Kind
B2
Abstract

Techniques are provided for automatically generating a mock object from a description of a real object, such as for use in testing. Mock object generation logic parses the description to determine interface(s) of the real object, which are replicated in the mock object, and to determine method(s) of the real object, which are simulated in the mock object. The mock object generation logic may generate a description of the mock object that is then compiled into the mock object for execution. Data types may be validated so that the arguments and/or return values from the mock object meet the expectations of a calling object.

Claims (28)

1. A method, comprising:

parsing, by a system including a processor, a description language document describing a real object to determine a first description of an interface set of the real object and a second description of a method set of the real object, wherein the real object is called upon by at least one other real object;

generating, by the system, one or more mock object generation files comprising the first description and the second description;

parsing, by the system, the description language document to determine a constructor set for the real object, wherein the generating the one or more mock object generation files comprises including a third description of the constructor set in the one or more mock object generation files,

parsing, by the system, the description language document to determine an event set and a property set for the real object, wherein the generating the one or more mock object generation files comprises including the third description of the event set and the property set in the one or more mock object generation files, and

compiling, by the system, the one or more mock object generation files to generate a mock object of the real object, wherein the mock object replicates the interface set of the real object and simulates the method set, the constructor set, the event set and the property set of the real object.

2. The method of claim 1 , wherein parsing the description language document comprises parsing at least one of Interface Description Language or Object Definition Language.

3. The method of claim 1 , wherein the at least one other real object is to be unit tested, and further comprising, calling the mock object from the at least one other real object during unit testing, and receiving, from the mock object, a return value as a type expected by the at least one other real object.

4. The method of claim 3 , further comprising, determining the type for the return value from automatically generated validation data.

5. The method of claim 1 , further comprising, calling the mock object from the at least one other real object during unit testing, and simulating the method set comprising accepting an argument as a type provided by the at least one other real object.

6. The method of claim 5 , wherein the simulating comprises determining the type for the argument from automatically generated validation data.

7. The method of claim 1 , further comprising, automatically generating an updated mock object in response to the real object being modified.

8. The method of claim 1 , further comprising, using the mock object in place of the real object to test the at least one other real object.

9. The method of claim 1 , further comprising, using the mock object in a mock object set to test one or more calling objects.

10. The method of claim 9 , wherein using the mock object in the mock object set comprises dynamically substituting the mock object for the real object while the one or more calling objects are running.

11. A system, comprising:

a memory that stores computer-executable components and

a processor that executes the computer-executable components store in the memory, wherein the computer-executable components comprise:

a mock object generation logic component that parses a description language document describing a real object to determine a first description of an interface set of the real object and a second description of a method set of the real object, wherein the real object is called upon by at least one other real object;

a compiler component that compiles the first description and the second description into a mock object of the real object, wherein the mock object comprises an interface set corresponding to the interface set of the real object, and wherein the mock object is configured to simulate a method set corresponding to the method set of the real object; and

wherein the mock object generation logic component further parses the description language document to determine a third description of a constructor set of the real object, an event set of the real object, and a property set of the real object, and wherein the compiler component further compiles the third description into the mock object.

12. The system of claim 11 , wherein the mock object generation logic component uses automatically generated validation data to determine at least one of an argument type or a return type of the second description of the method set of the real object.

13. The system of claim 11 , wherein the mock object returns calls from the at least one other real object that are made to any interface of the interface set and any method of that interface.

14. One or more machine-readable storage media having machine-executable instructions that, perform operations comprising:

parsing a description language document describing a real object to determine a first description of an interface set of the real object and a second description of a method set of the real object, wherein the real object is called upon by at least one other real object;

generate a mock object of the real object using the first description and the second description, wherein the mock object replicates the interface set of the real object and simulates the method set of the real object; and

wherein the parsing further comprises parsing the description language document to determine a third description of a constructor set, an event set and a property set of the real object, wherein the generating comprise generating the mock object using the third description, and wherein the mock object simulates the constructor set, the event set and the property set of the real object and compiles the third description into the mock object.

15. The one or more machine-readable storage media of claim 14 , wherein the operations further comprise calling the mock object from the at least one other real object, and receiving, from the mock object, a return value as a type expected by the calling at least one other real object.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: CLARK, BRENDAN JOSEPH
To: HOME BOX OFFICE, INC.
Reel/Frame 044500/0606 →
Continuity (3)
Continuation 14841597 · Aug 31, 2015
Provisional Application 62046090 · Sep 4, 2014
Related Publication 20180121330A1 · May 3, 2018