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
  • RcTemplate Object Class #26
    • The RcTemplate object represents the Resistor-Capacitor template
  • getImpedance() function for RcTemplate Class #32
    • The getImpedance() function is used to return the impedance of the circuit
  • or, not, and xor Logic Gate Classes #56
    • The or, not, and xor logic gates are three out of the six logic gates used in this assistant, with the other three being and, nor, and nand.
  • 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.

SetCircuit

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:

InsertSequenceDiagram