Praveen Elango - Project Portfolio Page
Project: CLIrcuit Assistant
Overview
- Testing: Responsible for overall testing.
- Scheduling and Tracking: Responsible for tracking the project.
- Template code in-charge: In-charge of handling issues related to code of the templates.
Summary of Contributions
Code Contributed
This is the RepoSense report of the code contributed.
Project Contributions
Code Contributions
The list of code contributions with links to the PRs includes the following:
Resistor
Object Class #19- The
Resistor
object stores the value of the resistance of the component
- The
RcTemplate
Object Class #26- The
RcTemplate
object represents the Resistor-Capacitor template
- The
getImpedance()
function forRcTemplate
Class #32- The
getImpedance()
function is used to return the impedance of the circuit
- The
or
,not
, andxor
Logic Gate Classes #56- The
or
,not
, andxor
logic gates are three out of the six logic gates used in this assistant, with the other three beingand
,nor
, andnand
.
- The
- Updated
Ui
by including prompts and a Command-Template table #100- The prompt was included for user to start using the assistant
- Updated
Ui
for Boolean Tutorial #161- Minor changes made to user interface design
Unit Testing & Assertions
The list of contributions for testing and assertions include the following:
- Added unit testing to Template tests including
RTemplate
,RcTemplate
,LrTemplate
,LcTemplate
#42 - Added assertions to all circuit templates including
RTemplate
,RcTemplate
,LrTemplate
,LcTemplate
#52 - Included JUnit tests for remaining commands including
SetCommandTest
#58
User Guide
The list of contributions for the User Guide include the following:
- Included explanation for why interactive tutorial enters infinite loop by design #162
- Included labeled diagrams for both setting of circuit and boolean commands #169
- Made grammatical changes to entire User Guide document #179
Developer Guide
The list of contributions for the Developer Guide include the following:
- Documented entire section for boolean commands by including UML diagrams (class, object, and sequence diagrams) and corresponding explanations for
TemplateBooleanCommand
,AddBooleanCommand
,SetBooleanCommand
,CalcBooleanCommand
#75 - Made grammatical changes to entire Developer Guide document #179
Extract: User Guide
The image below shows an example of using the command set r 500
on the template shown.
Extract: Developer Guide
CalculateBooleanCommand
The CalculateBooleanCommand
is used to calculate the effective output of the configured logic gates stored in the BinaryTree
, which requires that all inputs be set.
For instance, in a BinaryTree
object with just two gates - OrGate
and AndGate
- all the inputs of the gates have to be assigned before the effective output of both the logic gates (Input C
) can
be calculated.
The sequence by which the CalcBooleanCommand
is instantiated is as follows: