Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tree Tent Test Suite- All Remaining Non-Case Type Tests #683

Merged
merged 12 commits into from
Dec 13, 2023

Conversation

Rorymar
Copy link
Collaborator

@Rorymar Rorymar commented Nov 7, 2023

Description

Expanded all remaining tests for TreeTent's rules not under the "case" category to be more comprehensive and better cover potential edge cases.

Closes #616
Closes #615
Closes #604
Closes #603
Closes #605

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Enhancement (improvement to an already existing feature)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

For each Test being expanded, it was tested overall in the Tree Tent tests and then also running the specific individually.

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Overhauled the TooManyTents Tests to better account for possible situations, and improved commenting.
Added more expansive tests for the TooFewTents rule
Completed the Fill With Test Overhaul
Updated the Last Camping Spot Test to be commented and more comprehensive.
pitbull51067 and others added 4 commits November 9, 2023 11:15
* Region Based Changes (Bram-Hub#559)

Co-authored-by: Hanson Gu <[email protected]>

* Short Truth Table Puzzle Editor (Bram-Hub#451)

* Created files for STT elements

* Renamed Tiles classes to Elements to match package name

Also added an elements reference sheet and renamed rules reference sheet accordingly

* More progress made

This won't compile, just saving progress made

* More progress being made

* Fixed file name typo and added placeholder tiles

* Added image paths

* Created element classes and added placeholder tile images (Bram-Hub#452)

* Renamed Tiles classes to Elements to match package name

Also added an elements reference sheet and renamed rules reference sheet accordingly

* More progress made

This won't compile, just saving progress made

* More progress being made

* Fixed file name typo and added placeholder tiles

* Added image paths

* Set the current board on boardView

* Fixed typo and turned on STT puzzle editor for testing

* Added preliminary valid dimensions checker

This will most definitely change in the future, hopefully can change to accept a number of statements

* Fixed image file paths

* Added ActionListener

Allows us to determine what puzzle is selected by the user

* Hide rows and columns input for Short Truth Table

* Added text area for Short Truth Table

* Added scrollbars to show up as needed

* Reformatted code

* More code reformatting

* Even more reformatting

* Separate the data from the TextArea into different lines

* Did some researching/testing

Tested certain variable values with a STT file with no true/false values

* Made more progress

Added new methods to handle creating Short Truth Table boards from an array of strings

* Added a bunch of TODOs

- Implemented a couple functions to be used later
- Added a bunch of TODO comments for future work

* Made some more progress

* Implemented abstract methods from PuzzleImporter

* Added abstract methods to Fillapix and added other exception reporting

* CheckStyle formatting

* Removed a TODO comment

* Statements show up in puzzle editor

Fixed a bug where the importer was not properly being initialized. Statements now show up in the puzzle editor.

* Removed empty statements

* Changed InvalidFormatException to IllegalArgumentException

* Remove argument that has already been caught

* Removed elements that will not be used

* Added puzzle editor cell clicking functionality

* Added ability to toggle certain logical elements

* New icons and more functionality implemented

* Fixed a bug where spacer rows could be modified

* Added statement error checking

* Fixed formatting

* Only one logic symbol element needed

* Changed InputMismatchException to UnsupportedOperationException

* Renamed variables to not be STT specific

* Finding initial issue and starting fix

* Issue is statement copying and modifying

* STT exporter now working. Overrode setCell for STTBoard.

* Added code documentation

* removed testing println()

* Gradle fixes

* Revert "Merge pull request Bram-Hub#545 from MMosley502/puzzle_editor-short_truth_table-file_saving"

This reverts commit 2e82547, reversing
changes made to beb60a2.

* Saving files now works

* Fixed the blank element to be categorized as a placeable element

* Fixed a bug where file wouldn't save due to batch grader updates

* Reformatted code in STT

* Reformatted code again

* MORE REFORMATTING

Pls like my code CheckStyle

---------

Co-authored-by: Matthew Mosley <[email protected]>
Co-authored-by: MMosley502 <[email protected]>

* Have null changes be valid and fix IsolatedBlackContradicitonRule error message (Bram-Hub#561)

* Get Tests to be called

Revert "Create first cypress test template"

This reverts commit 3e50909.

First commit

Finish Lightup tests

* Add more tests

Update TestRunner.java

* Somehow ended up in the wrong spot

Fix Import

* Please let this be the fix

Update TreeTransition.java

Update TreeTransition.java

Update DirectRule.java

Check to see which is not correct

Update ElementController.java

Revert "maybe the null is making it think that it's not valid"

This reverts commit 7bf1de0d66ced6749ee37fbb9c252636b2fcdc79.

Just trying to change color

Revert "Just trying to change color"

This reverts commit ec44695ee578d664055d135a668927a0fd900f5d.

Revert "maybe the null is making it think that it's not valid"

This reverts commit 3f162fbdc32e6fbd23da321a14a6af96f0ff520d.

Check to see which is not correct

Revert "Check to see which is not correct"

This reverts commit 136b0a41b9d103e6f3e9a7f8cd5d970bf76b050b.

Update TreeTransition.java

Update TreeTransition.java

Revert "Update TreeTransition.java"

This reverts commit cde45bb9001cfbfa4f6e2a49b4e9990d2fa7ad33.

* Fix error with isolated Black

Fix error message with isolated black

* Removed excess whitespace and imports. Added short JavaDoc for `TestRunner.java`

---------

Co-authored-by: Charles Tian <[email protected]>
Co-authored-by: Bram van Heuveln <[email protected]>
Co-authored-by: Corppet <[email protected]>

* Fixed a bug

* Update BlackTile.java

Black tile should not be placeable

* Added unknown tile stuff

* ID error

* Some Fixes to Recently Discussed UX Bugs (Bram-Hub#563)

* frame and panels default sizes, default pos on screen

* hardcoded version number

* homepanel default size

* set panels' own sizes

* some changes

* Removed unused import

---------

Co-authored-by: Charles Tian <[email protected]>
Co-authored-by: Corppet <[email protected]>

* Oops pushed the wrong file

Yeah some tiles work now but this is the ID error

* Number Tile working

* Update Exporter (Bram-Hub#627)

* Update Exporter

* Delete Test_Save

---------

Co-authored-by: Charles Tian <[email protected]>

* Create run-tests.yml

* Update run-tests.yml

* Update run-tests.yml

* Update run-tests.yml

* Update run-tests.yml

* Windows things

* Added print messages

* More Windows things

* Debugging

* Update run-tests.yml

* Update run-tests.yml

* Maybe this will work now?

* Didn't work

* Update run-tests.yml

* Update run-tests.yml

* Create DummyTest.java

For debugging purposes

* Added another dummy test

* Update run-tests.yml

* Update run-tests.yml

Get rid of all this info

* Deleted the dummy tests

* BulbsInPathContradictionRuleTest looks good. I added one more function to check for the BlockInHorizontalPath test case.

* I think I might have run into a problem on the testing function. I will confirm this problem next time and will write another test case.

* I made another puzzle and test case to check what would happen if the cells could actually be lit, meaning there would be no contradiction. The test case passed and so I think CannotLightACellContradictionRule works correctly for all cases.

* I made another puzzle and test case to check what would happen if the cells could actually be lit, meaning there would be no contradiction. The test case passed and so I think CannotLightACellContradictionRule works correctly for all cases.

---------

Co-authored-by: Antonio Orta <[email protected]>
Co-authored-by: Hanson Gu <[email protected]>
Co-authored-by: Charles Tian <[email protected]>
Co-authored-by: Matthew Mosley <[email protected]>
Co-authored-by: MMosley502 <[email protected]>
Co-authored-by: Viane Matsibekker <[email protected]>
Co-authored-by: Bram van Heuveln <[email protected]>
Co-authored-by: Corppet <[email protected]>
Co-authored-by: charlestian23 <[email protected]>
Co-authored-by: Chase Grajeda <[email protected]>
Co-authored-by: ThisMatt <[email protected]>
Copy link
Member

@Bram28 Bram28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TooFewTents: Using a 1x1 board might be an edge case itself ... I would add a test case with a 2x2 or 3x3 board where the contradiction occurs in only one or some of the columns or rows ... analogous to what you do with testing TooManyTents

For any of the contradiction rules: please make sure you test for incorrect or 'false' applications of those rules, i.e. that LEGUP correctly responds by saying that some contradiction rule does not check out ... because there is indeed no contradiction of the kind that the contradiction rule is supposed to point out.

Same with Direct rules: make sure to have test cases where the Direct rule application should not check out

Starting with FinishWithGrass: please comment test cases

@Corppet Corppet marked this pull request as draft November 28, 2023 21:16
@Corppet
Copy link
Collaborator

Corppet commented Nov 28, 2023

Changing this pull request to a draft, since there hasn't been any updates for a while and there seems to be changes that still need to be made.

@charlestian23 charlestian23 marked this pull request as ready for review December 13, 2023 19:07
@charlestian23
Copy link
Collaborator

Marking this PR as ready for review. I will review it and then make Bram's comment a new issue.

Copy link
Collaborator

@charlestian23 charlestian23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests that were added seem good.

@charlestian23 charlestian23 merged commit 80328d5 into Bram-Hub:dev Dec 13, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants