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

Update test cases #775

Open
17 of 21 tasks
vaeng opened this issue Jan 14, 2024 · 47 comments
Open
17 of 21 tasks

Update test cases #775

vaeng opened this issue Jan 14, 2024 · 47 comments
Labels
good first patch help wanted x:action/improve Improve existing functionality/content x:action/sync Sync content with its latest version x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises

Comments

@vaeng
Copy link
Contributor

vaeng commented Jan 14, 2024

Grab what you want, mark it and make a PR. These exercises need updates:

I made a wiki entry on test case updates if you are unsure how to start.

@vaeng vaeng added good first patch help wanted x:action/improve Improve existing functionality/content x:action/sync Sync content with its latest version x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises labels Jan 14, 2024
@vaeng
Copy link
Contributor Author

vaeng commented Jan 14, 2024

I will start with: allergies

@CadeMichael
Copy link
Contributor

I'd love to help but am not sure what needs updating?

@IsaacG
Copy link
Member

IsaacG commented Jan 17, 2024

I'd love to help but am not sure what needs updating?

The above exercises need their tests synced from the problem specs.

See docs for

Reading through prior commits on this repo (look for PRs that mention syncing tests) might prove helpful.

@vaeng
Copy link
Contributor Author

vaeng commented Jan 17, 2024

@CadeMichael
Give me some time, I'll write a how-to for Test Cases and put it in the tracks wiki.

@vaeng
Copy link
Contributor Author

vaeng commented Jan 17, 2024

Here is a wiki entry on test case updates to explain what I have been doing so far, maybe it is helpful for you @CadeMichael
Do you have additions or suggestions @siebenschlaefer ?

@CadeMichael
Copy link
Contributor

Thank You I'll check it out and try to update for anagram!

@CadeMichael
Copy link
Contributor

Sorry for the slow progress long weekend. I got configlet working and found the testcases that need improvement

[warn] anagram: missing 6 test cases
       - detects two anagrams (03eb9bbe-8906-4ea0-84fa-ffe711b52c8b)
       - does not detect an anagram if the original word is repeated (630abb71-a94e-4715-8395-179ec1df9f91)
       - words are not anagrams of themselves (68934ed0-010b-4ef9-857a-20c9012d1ebf)
       - words are not anagrams of themselves even if letter case is partially different (589384f3-4c8a-4e7d-9edc-51c3e5f0c90e)
       - words are not anagrams of themselves even if letter case is completely different (ba53e423-7e02-41ee-9ae2-71f91e6d18e6)
       - words other than themselves can be anagrams (33d3f67e-fbb9-49d3-a90e-0beb00861da7)

will get a pr done tomorrow

@IsaacG
Copy link
Member

IsaacG commented Jan 23, 2024

Make sure you pull the data from the problem specs!

@CadeMichael
Copy link
Contributor

Make sure you pull the data from the problem specs!

I think that configlet does this automatically ? from my understanding but I'm not sure.

@CadeMichael
Copy link
Contributor

I think I got it. I found the missing tests id's correspond to the same named tests (as already implemented) with different inputs so I've added the testcases and updated the test.toml. I'm not sure if I should be manually updating the toml with the id's of the testcases added but I don't see an automated way of doing it.

@IsaacG
Copy link
Member

IsaacG commented Jan 24, 2024

I think the configlet sync command can update that file.

@CadeMichael
Copy link
Contributor

#784

submitted a PR, sorry for all the questions, I think I got the hang of it and made the updates.

@DebbieSan
Copy link
Contributor

Hi everyone! I will start working on triangle. First time here so checking out the documentation and will try to update.

@DebbieSan
Copy link
Contributor

DebbieSan commented Jan 28, 2024

I submitted a PR for revision [https://github.com//pull/787]

Please advise, thank you!

@ahans
Copy link
Contributor

ahans commented Jan 29, 2024

Here is a PR that updates hamming: #789 I don't think it's worth discussing this on the forum.

@ahans
Copy link
Contributor

ahans commented Feb 14, 2024

Here is an update for armstrong-numbers: #808

@ahans
Copy link
Contributor

ahans commented Feb 14, 2024

And here goes a sync of gigasecond: #809

ahans added a commit to ahans/cpp that referenced this issue Feb 16, 2024
[no important files changed]
vaeng pushed a commit that referenced this issue Feb 20, 2024
[no important files changed]
@KevDi
Copy link
Contributor

KevDi commented Mar 1, 2024

i will take the bank-account

@KevDi
Copy link
Contributor

KevDi commented Mar 2, 2024

I will also update the complex-numbers

This was referenced Mar 23, 2024
@BNAndras
Copy link
Member

I'll grab protein translation for next week.

@tanno1
Copy link
Contributor

tanno1 commented May 2, 2024

First time here. I'll take phone-numbers to start.

@tanno1
Copy link
Contributor

tanno1 commented May 3, 2024

@vaeng hey, it looks like phone-numbers has all the files and is updated as far as configlet goes, except for when i use configlet sync. i am running it from ./meta/config.js so i dont believe its an error with directory location, but i do get this "Error: file does not have an exercises key:" referring to the config.json file, but i have searched through exercism docs and don't believe that there is supposed to be an exercise key in the config.json file? other than this though, it looks like phone-numbers is updated.

new to open source contributions so apologies in advance if these are simple questions.

image

@vaeng
Copy link
Contributor Author

vaeng commented May 3, 2024

@tanno1
You are right. I checked the problem spec and there should be 18 cases (4 of the 22 are implementations) and the cpp test file has 18+ tests. One could fix the tests to represent the new layout and sort the test cases to match the requirement, but that is not what configlet complains about.

The "key" sounds like the UUID from the root-folder config.json, but that is set-up correctly as far as I can tell.
Maybe @ErikSchierboom knows a bit better what is going on?

@BNAndras
Copy link
Member

BNAndras commented May 4, 2024

(base) anagy@framework:~/Documents/GitHub/exercism-lfe/exercises/practice/allergies/.meta$ ../../../../bin/configlet sync
Updating cached 'problem-specifications' data...
Checking exercises...
Error: file does not have an `exercises` key:
/home/anagy/Documents/GitHub/exercism-lfe/exercises/practice/allergies/.meta/config.json

Configlet is checking the exercise config, not the track config. You need to run that command at the root level repo.

@tanno1
Copy link
Contributor

tanno1 commented May 6, 2024

@vaeng synced toml & updated test file for phone-numbers: #867. lmk if you have q's/suggestions, once finalized, i will start on another.

thanks!

@ErikSchierboom
Copy link
Member

Yep, @BNAndras was right, configlet needs to be run from the root directory.

@tanno1
Copy link
Contributor

tanno1 commented May 13, 2024

@vaeng, see #870 ^, i submitted another pr for phone numbers after reviewing other pr's from this issue. lmk if there is anything i need to change!

@BNAndras
Copy link
Member

Whoops, I forgot about protein-translation. I'll take a look at it later this week and tackle high-scores after that.

@JagritGumber
Copy link
Contributor

First Time here but could I contribute to prime factors ?

@vaeng
Copy link
Contributor Author

vaeng commented Aug 4, 2024

First Time here but could I contribute to prime factors ?

Sure thing. Try it out :)

@JagritGumber
Copy link
Contributor

I opened a PR but it automatically got closed #895

@JagritGumber
Copy link
Contributor

I just saw one of the errors in the merging and clang formatting gives this warning which is treated as an error. Apparently the final test case overflows the bounds of an integer

/home/runner/work/cpp/cpp/build_exercises/practice/prime-factors/prime_factors_test.cpp: In function ‘void ____C_A_T_C_H____T_E_S_T____22()’:
/home/runner/work/cpp/cpp/build_exercises/practice/prime-factors/prime_factors_test.cpp:112:54: error: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘93819012551’ to ‘-670267961’ [-Werror=overflow]
  112 |     const std::vector<int> actual{ prime_factors::of(93819012551) };
      |    

Specifically this part

image

@JagritGumber
Copy link
Contributor

I have got more time tomorrow. May I take Grade School if no one has taken that?

@siebenschlaefer
Copy link
Contributor

Sure, that would be great!

@sz245
Copy link

sz245 commented Aug 19, 2024

I could take matching-brackets if no one has?

@Elahi-cs
Copy link
Contributor

Elahi-cs commented Sep 22, 2024

Hey, I'd like to update the checklist so that we're clearer on which exercises still need an update and which are and aren't taken. @vaeng feel free to just copy and paste it.

- [x] allergies (@vaeng) #817  
- [x] anagram (@CadeMichael) #784  
- [x] armstrong-numbers (@ahans) #808  
- [x] bank-account (@KevDi) #826  
- [x] complex-numbers (@KevDi) #829 
- [x] crypto-square (@ahans)  #827 
- [x] gigasecond (@ahans) #810  
- [ ] grade-school (@JagritGumber)
- [x] hamming (@ahans) #775 #789  
- [ ] high-scores  
- [ ] isogram (@BNAndras)  
- [x] luhn (@vaeng) #818  
- [ ] matching-brackets (@sz245 )
- [ ] pangram (@BNAndras)  
- [x] perfect-numbers (@vaeng) #819  
- [x] phone-number  (@tanno1 ) #870 
- [x] prime-factors  (@JagritGumber ) #895 
- [ ] protein-translation  
- [ ] say (@Elahi-cs ) #903 
- [x] triangle (@DebbieSan) #787  
- [x] word-count (@vaeng) #820  

I would also like to contribute and fix all the missing unassigned ones (say, protein-translation) since the generator tool that you linked in the wiki really seems to make it easy. I have started with just say #903 to see whether I'm on the right track.

@vaeng
Copy link
Contributor Author

vaeng commented Oct 9, 2024

@BNAndras and @sz245
Are you still on track to implement the exercises you mentioned, or do you want to put them back into the pool?

@BNAndras
Copy link
Member

BNAndras commented Oct 9, 2024

Oops, I got distracted. I’ll take a look this week.

@Elahi-cs
Copy link
Contributor

Elahi-cs commented Oct 9, 2024

I can take whichever one isn't getting worked on, if anyone puts any back into the pool.

@BNAndras
Copy link
Member

BNAndras commented Oct 10, 2024

I think the list's out of date for my contributions.
I synced pangram in #848 and isogram in #849. I went ahead and synced roman-numerals just now in #914.

@BNAndras
Copy link
Member

Configlet is warning that reverse-string is missing tests which were added a few days after this thread was created.

[warn] reverse-string: missing 3 test cases
     - wide characters (1bed0f8a-13b0-4bd3-9d59-3d0593326fa2)
     - grapheme cluster with pre-combined form (93d7e1b8-f60f-4f3c-9559-4056e10d2ead)      
     - grapheme clusters (1028b2c1-6763-4459-8540-2da47ca512d9)

@Elahi-cs
Copy link
Contributor

@BNAndras I submitted #917 to address that.

@JagritGumber
Copy link
Contributor

Can I put Grade School back to the pool I am just not getting time.

I can take whichever one isn't getting worked on, if anyone puts any back into the pool.

@mAbdulai1234
Copy link

ill take a look at the high scores if that's okay

@vaeng
Copy link
Contributor Author

vaeng commented Oct 16, 2024

ill take a look at the high scores if that's okay

Sure thing, submit your PR when you're done and tag me, so I don't overlook it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first patch help wanted x:action/improve Improve existing functionality/content x:action/sync Sync content with its latest version x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises
Projects
None yet
Development

No branches or pull requests