mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package eu.kanade.mangafeed;
 | |
| 
 | |
| import org.junit.Before;
 | |
| import org.junit.Test;
 | |
| 
 | |
| import eu.kanade.mangafeed.data.database.models.Chapter;
 | |
| import eu.kanade.mangafeed.data.database.models.Manga;
 | |
| import eu.kanade.mangafeed.util.ChapterRecognition;
 | |
| 
 | |
| import static org.hamcrest.Matchers.is;
 | |
| import static org.junit.Assert.assertThat;
 | |
| 
 | |
| public class ChapterRecognitionTest {
 | |
| 
 | |
|     Manga randomManga;
 | |
| 
 | |
|     private Chapter createChapter(String title) {
 | |
|         Chapter chapter = Chapter.create();
 | |
|         chapter.name = title;
 | |
|         return chapter;
 | |
|     }
 | |
| 
 | |
|     @Before
 | |
|     public void setUp() {
 | |
|         randomManga = new Manga();
 | |
|         randomManga.title = "Something";
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithOneDigit() {
 | |
|         Chapter c = createChapter("Ch.3: Self-proclaimed Genius");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(3f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithVolumeBefore() {
 | |
|         Chapter c = createChapter("Vol.1 Ch.4: Misrepresentation");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(4f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithVolumeAndVersionNumber() {
 | |
|         Chapter c = createChapter("Vol.1 Ch.3 (v2) Read Online");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(3f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithVolumeAndNumberInTitle() {
 | |
|         Chapter c = createChapter("Vol.15 Ch.90: Here Blooms the Daylily, Part 4");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(90f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithVolumeAndSpecialChapter() {
 | |
|         Chapter c = createChapter("Vol.10 Ch.42.5: Homecoming (Beginning)");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(42.5f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithJustANumber() {
 | |
|         Chapter c = createChapter("Homecoming (Beginning) 42");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(42f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithJustASpecialChapter() {
 | |
|         Chapter c = createChapter("Homecoming (Beginning) 42.5");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(42.5f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithNumberinMangaTitle() {
 | |
|         Chapter c = createChapter("3x3 Eyes 96");
 | |
|         Manga m = new Manga();
 | |
|         m.title = "3x3 Eyes";
 | |
|         ChapterRecognition.parseChapterNumber(c, m);
 | |
|         assertThat(c.chapter_number, is(96f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithColonAtTheEnd() {
 | |
|         Chapter c = createChapter("Chapter 5: 365 days");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(5f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithZeros() {
 | |
|         Chapter c = createChapter("Vol.001 Ch.003: Kaguya Doesn't Know Much");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(3f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testRange() {
 | |
|         Chapter c = createChapter("Ch.191-200 Read Online");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(191f));
 | |
|     }
 | |
| 
 | |
|     @Test
 | |
|     public void testWithKeywordChAtTheEndOfTheManga() {
 | |
|         // It should be 567, not 67 (ch is a keyword to get the chapter number)
 | |
|         Chapter c = createChapter("Bleach 567: Down With Snowwhite");
 | |
|         ChapterRecognition.parseChapterNumber(c, randomManga);
 | |
|         assertThat(c.chapter_number, is(567f));
 | |
|     }
 | |
| 
 | |
| }
 |