Skip to content
This repository has been archived by the owner on Jul 18, 2018. It is now read-only.

Java Track: Optional Exercise Listed as Milestone #61

Closed
BethanyG opened this issue Aug 22, 2017 · 8 comments
Closed

Java Track: Optional Exercise Listed as Milestone #61

BethanyG opened this issue Aug 22, 2017 · 8 comments

Comments

@BethanyG
Copy link
Member

Completed the 'Two-Fer' exercise on the Java track. Received a modal message window that showed 'Raindrops' was unlocked as an optional exercise. When I returned to the main Java Track page, this is what I saw:

screen shot 2017-08-22 at 11 01 11 am

..so Raindrops is listed as a Main exercise - not an optional one.

@kytrinyx
Copy link
Member

This looks like a bug somewhere in the backend. It's definitely listed as optional in the Java config:

https://github.com/exercism/java/blob/master/config.json#L95-L104

I don't know if it is in the importer or in the display logic, though. @iHiD would you put this one on your list to investigate?

@iHiD
Copy link
Member

iHiD commented Aug 22, 2017

I suspect it's due to the fact another exercises relies on it, which breaks the the contract, as side-exercises should only be unlocked by core, not other side exercises.

@kytrinyx Configlet should check for this.
@ccare We should decide what to do with import in this situation.

@FridaTveit
Copy link

Sorry about that, we didn't know that side exercises should only be unlocked by core. I'll fix that as soon as possible. So the structure of the exercises isn't really a tree then, each core exercise just unlocks a bunch or other exercises?

If you find any more issues like this it would be great if you could tag the java maintainers here since we're the ones who have to fix it. I only found this issue by accident :)

@stkent
Copy link

stkent commented Aug 29, 2017

This should now be fixed! 👏 @FridaTveit

@kytrinyx
Copy link
Member

@FridaTveit Yepp—I wanted to work out if it was a bug on our end first and what we could do to make development easier before I pulled you all in. Thanks for fixing it.

So the structure of the exercises isn't really a tree then, each core exercise just unlocks a bunch or other exercises?

Yeah, that's a good point. I think we were talking about a tree at some point, and we decided to simplify it down, at least for now.

@iHiD
Copy link
Member

iHiD commented Sep 11, 2017

Triaged to exercism/reboot#141

@stkent
Copy link

stkent commented Sep 11, 2017

Link 404s?

@rpottsoh
Copy link
Member

Reboot is private.

cmccandless added a commit to exercism/python that referenced this issue Apr 3, 2018
* select core exercises and set exercise ordering

* add missing obvious topics

* make list-ops a core exercise

* rational-numbers: increase difficulty

* unlocked_by core exercises only (exercism/configlet#61)
Ref: exercism/DEPRECATED.v2-feedback#61 (comment)
mrcfps added a commit to mrcfps/python that referenced this issue Apr 20, 2018
pig-latin: improve documentation (exercism#1352)

add "Running the tests" section to README template (exercism#1271)

* add "Running the tests" section to README template

* regenerate README files with new template

* rewrite Running the tests section for clarity

* -switch to a plaintext-readable format
-add link explaining py.test vs pytest

queen-attack: re-implement according to canonical data 2.1.0 (exercism#1351)

* queen-attack: re-implement according to canonical data 2.1.0

* queen-attack: rewrite to pass tests v2.1.0

* queen-attack: remove redundant tests

Rm `test_invalid_position_can_attack` since `Queen()`

grains: update tests to v1.1.0 (exercism#1357)

Fix typo and minor style issues in all READMEs (exercism#1356)

* Fix typo and style in README template

* Fix `shold` to `should`
* Fix minor style issues in `### Common pytest options`
* Add blank line after all headers

* Regenerate all READMEs

* Remove redundant periods in READMEs

add `awaiting review` exempt label to stale.yml (exercism#1364)

go-counting: adapt tests to canonical data v1.0.0 (exercism#1360)

* set correct canonical data version

* adapt tests and example solution to canonical data 1.0.0

* use assertSetEqual() consistently

sgf-parsing: implement exercise (exercism#1359)

* implement sgf-parsing

* fix import statement

* create entry in config.json

* fix __eq__ for Python2

lens-person: forego exercise (exercism#1299)

* lens-person: forego exercise

`lens-person` is specific to languages with immutable data (i.e. Haskell). This concept does not exist in Python, so the exercise should be foregone.

* remove bad comma

Implement exercise bank-account (exercism#1260)

* Implement exercise bank-account

* bank-account: generate README using configlet

* bank-account: fix typo and comments

pascals-triangle: update tests to canonical-date v1.2.0 (exercism#1164)

house: return singleton list for single verse (exercism#1354)

* house: return singleton list for single verse

RE exercism#1347 ([comment](exercism#1347 (comment)))

* house: fix example solution to pass changed tests

meetup: remove fail-safe for undefined MeetupDayException (exercism#1345)

* meetup: remove fail-safe for undefined MeetupDayException

Fixes exercism#1344

* meetup: define MeetupDayException in example solution

* meetup: fix example solution to raise correct exception

* meetup: fix flake8 violations

* meetup: add exception message

Curriculum (exercism#1355)

* select core exercises and set exercise ordering

* add missing obvious topics

* make list-ops a core exercise

* rational-numbers: increase difficulty

* unlocked_by core exercises only (exercism/configlet#61)
Ref: exercism/DEPRECATED.v2-feedback#61 (comment)

alphametics: mark computationally intensive test as extra-credit (exercism#1358)

* alphametics: mark computationally intensive test as extra-credit

While this test is canonical, it does not technically add additional coverage. This test serves as a test for efficiency (exercism/problem-specifications#1024 (comment)) of a solution, not completeness.

Furthermore, here are the run-times for this exercise from the [latest Travis build]() (at the time of this writing):
| Python Version | Run-time (seconds) |
| --- | --- |
| 2.7 | 3.155 |
| 3.3 | 2.461 |
| 3.4 | 3.567 |
| 3.5 | 7.270 |
| 3.6 | 0.774 |

Notice that the optimized example solution is only "fast" in 3.6.

* alphametics: add to list of exercises allowed to skip tests in CI

bank-account: update README using configlet (exercism#1366)

go-counting: update README to latest description (exercism#1367)

bracket-push: update tests to v1.3.0 (exercism#1369)

isbn-verifier: update tests to v2.4.0 (exercism#1373)

* Replace test case - "invalid character in isbn"
* Add test case with only 9 digits

Python "bowling" test issue. (exercism#1372)

Fixes /exercism/python/exercism#1371.

yacht: implement exercise (exercism#1368)

* yacht: implement exercise

* yacht: use enumeration of score categories

* Use enumeration instead of plain strings to represent categories
* Improve func `ns` in example solution

crypto-square: Clarify rectangular output requirement in README (exercism#1375)

scale-generator: clarify docs. (exercism#1374)

* Removed most mentions of terms that were irrelevant ("diminished interval") or undefined ("accidentals").
* Removed irrelevant table
* Some light reformatting
cmccandless pushed a commit to exercism/python that referenced this issue Apr 20, 2018
* react: re-implement according to canonical data

* react: update tests to v1.2.0

* react: correct test method name

* react: fix example solution py2-compatibility

* `copy()` method to `[:]`
* `clear()` method to reassigning an empty list

* react: refactor callbacks into pure functions

* Merge upstream/master into react-1257

pig-latin: improve documentation (#1352)

add "Running the tests" section to README template (#1271)

* add "Running the tests" section to README template

* regenerate README files with new template

* rewrite Running the tests section for clarity

* -switch to a plaintext-readable format
-add link explaining py.test vs pytest

queen-attack: re-implement according to canonical data 2.1.0 (#1351)

* queen-attack: re-implement according to canonical data 2.1.0

* queen-attack: rewrite to pass tests v2.1.0

* queen-attack: remove redundant tests

Rm `test_invalid_position_can_attack` since `Queen()`

grains: update tests to v1.1.0 (#1357)

Fix typo and minor style issues in all READMEs (#1356)

* Fix typo and style in README template

* Fix `shold` to `should`
* Fix minor style issues in `### Common pytest options`
* Add blank line after all headers

* Regenerate all READMEs

* Remove redundant periods in READMEs

add `awaiting review` exempt label to stale.yml (#1364)

go-counting: adapt tests to canonical data v1.0.0 (#1360)

* set correct canonical data version

* adapt tests and example solution to canonical data 1.0.0

* use assertSetEqual() consistently

sgf-parsing: implement exercise (#1359)

* implement sgf-parsing

* fix import statement

* create entry in config.json

* fix __eq__ for Python2

lens-person: forego exercise (#1299)

* lens-person: forego exercise

`lens-person` is specific to languages with immutable data (i.e. Haskell). This concept does not exist in Python, so the exercise should be foregone.

* remove bad comma

Implement exercise bank-account (#1260)

* Implement exercise bank-account

* bank-account: generate README using configlet

* bank-account: fix typo and comments

pascals-triangle: update tests to canonical-date v1.2.0 (#1164)

house: return singleton list for single verse (#1354)

* house: return singleton list for single verse

RE #1347 ([comment](#1347 (comment)))

* house: fix example solution to pass changed tests

meetup: remove fail-safe for undefined MeetupDayException (#1345)

* meetup: remove fail-safe for undefined MeetupDayException

Fixes #1344

* meetup: define MeetupDayException in example solution

* meetup: fix example solution to raise correct exception

* meetup: fix flake8 violations

* meetup: add exception message

Curriculum (#1355)

* select core exercises and set exercise ordering

* add missing obvious topics

* make list-ops a core exercise

* rational-numbers: increase difficulty

* unlocked_by core exercises only (exercism/configlet#61)
Ref: exercism/DEPRECATED.v2-feedback#61 (comment)

alphametics: mark computationally intensive test as extra-credit (#1358)

* alphametics: mark computationally intensive test as extra-credit

While this test is canonical, it does not technically add additional coverage. This test serves as a test for efficiency (exercism/problem-specifications#1024 (comment)) of a solution, not completeness.

Furthermore, here are the run-times for this exercise from the [latest Travis build]() (at the time of this writing):
| Python Version | Run-time (seconds) |
| --- | --- |
| 2.7 | 3.155 |
| 3.3 | 2.461 |
| 3.4 | 3.567 |
| 3.5 | 7.270 |
| 3.6 | 0.774 |

Notice that the optimized example solution is only "fast" in 3.6.

* alphametics: add to list of exercises allowed to skip tests in CI

bank-account: update README using configlet (#1366)

go-counting: update README to latest description (#1367)

bracket-push: update tests to v1.3.0 (#1369)

isbn-verifier: update tests to v2.4.0 (#1373)

* Replace test case - "invalid character in isbn"
* Add test case with only 9 digits

Python "bowling" test issue. (#1372)

Fixes /exercism/python/#1371.

yacht: implement exercise (#1368)

* yacht: implement exercise

* yacht: use enumeration of score categories

* Use enumeration instead of plain strings to represent categories
* Improve func `ns` in example solution

crypto-square: Clarify rectangular output requirement in README (#1375)

scale-generator: clarify docs. (#1374)

* Removed most mentions of terms that were irrelevant ("diminished interval") or undefined ("accidentals").
* Removed irrelevant table
* Some light reformatting

* react: update tests to v2.0.0
@iHiD iHiD closed this as completed Jul 16, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants