0

test: полное изменение тестов для кинотеатров

теперь они тестируют то что нужно.
resolve #22
This commit is contained in:
2017-01-15 04:53:14 +03:00
parent 7c8356c0fd
commit ebca0604eb
5 changed files with 202 additions and 92 deletions

View File

@@ -1,44 +0,0 @@
package core.warez;
import kinosearch.core.Kino;
import kinosearch.core.SpringConfig;
import kinosearch.core.warez.KinoWarez;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
import static org.junit.Assert.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfig.class})
public class TestOnlinelife {
@Autowired
@Qualifier("onlinelife")
private KinoWarez kinoWarez;
@Test
public void testNormal() {
search(false);
}
@Test
public void testStrong() {
search(true);
}
private void search(boolean strong) {
String titleKino = "рик и морти";
List<Kino> kinoList = kinoWarez.search(titleKino, strong);
assertTrue(kinoList.size() > 0);
Kino kino = kinoList.get(0);
// System.out.printf("\"%s\" (%s)", kino.getName(), kino.getUrl()); //DEBUG
assertTrue(kino.getName().toLowerCase().contains(titleKino.toLowerCase()));
}
}

View File

@@ -1,48 +0,0 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2017-01-08
*/
package core.warez;
import kinosearch.core.Kino;
import kinosearch.core.KinoPlay;
import kinosearch.core.SpringConfig;
import kinosearch.core.warez.KinoWarez;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfig.class})
public class TestSeasonvar {
@Autowired
@Qualifier("seasonvar")
private KinoWarez kinoWarez;
@Test
public void testSearch() {
String titleKino = "рик и морти";
List<Kino> kinoList = kinoWarez.search(titleKino, false);
assertNotNull(kinoList);
assertTrue(kinoList.size() > 0);
Kino kino = kinoList.get(0);
System.out.printf("\"%s\" (%s)", kino.getName(), kino.getUrl()); //DEBUG
assertTrue(kino.getName().toLowerCase().contains(titleKino.toLowerCase()));
}
@Test
public void testPlayer() {
KinoPlay kinoPlay = kinoWarez.player("/serial-3045-GurrenLagann.html");
assertNotNull(kinoPlay);
}
}

View File

@@ -0,0 +1,101 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2017-01-15
*/
package kinosearch.core.warez;
import kinosearch.core.Kino;
import kinosearch.core.KinoItem;
import kinosearch.core.KinoPlay;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.*;
abstract class KinoWarezTestCase {
void notFound(KinoWarez kinoWarez) {
assertNotNull(kinoWarez);
List<Kino> kinoList = kinoWarez.search("asdasdasdasd", false);
assertNotNull(kinoList);
assertTrue(kinoList.isEmpty());
}
void found(final String title, KinoWarez kinoWarez) {
assertNotNull(kinoWarez);
List<Kino> kinoList = kinoWarez.search(title, false);
assertNotNull(kinoList);
assertFalse(kinoList.isEmpty());
kinoList.forEach(kino -> assertTrue(String.format("'%s' != '%s'", kino.getName(), title), kino.getName().toLowerCase().contains(title)));
}
void oneFilm(final String page, KinoWarez kinoWarez) {
KinoPlay kinoPlay = kinoWarez.player(page);
assertNotNull(kinoPlay);
assertEquals(KinoPlay.KinoType.ONE_FILM, kinoPlay.getType());
KinoItem kinoItem = kinoPlay.getOneFilm();
assertNotNull(kinoItem);
assertNotNull(kinoItem.getTitle());
assertFalse(kinoItem.getTitle().isEmpty());
assertNotNull(kinoItem.getFile());
assertFalse(kinoItem.getFile().isEmpty());
assertTrue(kinoItem.getFile().endsWith(".mp4"));
}
void simpleSerial(final String page, KinoWarez kinoWarez) {
KinoPlay kinoPlay = kinoWarez.player(page);
assertNotNull(kinoPlay);
assertEquals(KinoPlay.KinoType.SIMPLE_SERIAL, kinoPlay.getType());
List<KinoItem> serials = kinoPlay.getSerials();
assertNotNull(serials);
assertFalse(serials.isEmpty());
assertTrue(serials.size() > 1);
serials.forEach(kinoItem -> {
assertNotNull(kinoItem.getTitle());
assertFalse(kinoItem.getTitle().isEmpty());
assertNotNull(kinoItem.getFile());
assertFalse(kinoItem.getFile().isEmpty());
assertTrue(kinoItem.getFile().endsWith(".mp4"));
});
}
void seasonsSerial(final String page, KinoWarez kinoWarez) {
KinoPlay kinoPlay = kinoWarez.player(page);
assertNotNull(kinoPlay);
assertEquals(KinoPlay.KinoType.SEASONS_SERIAL, kinoPlay.getType());
Map<String, List<KinoItem>> seasons = kinoPlay.getSeasons();
assertNotNull(seasons);
assertFalse(seasons.isEmpty());
seasons.forEach((s, kinoItems) -> {
assertFalse(s.isEmpty());
assertNotNull(kinoItems);
assertFalse(kinoItems.isEmpty());
kinoItems.forEach(kinoItem -> {
assertNotNull(kinoItem.getTitle());
assertFalse(kinoItem.getTitle().isEmpty());
assertNotNull(kinoItem.getFile());
assertFalse(kinoItem.getFile().isEmpty());
assertTrue(kinoItem.getFile().endsWith(".mp4"));
});
});
}
public abstract void testNotFound();
public abstract void testFound();
public abstract void testFoundOneFilm();
public abstract void testFoundSimpleSerial();
public abstract void testFoundSeasonSerial();
}

View File

@@ -0,0 +1,52 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2017-01-15
*/
package kinosearch.core.warez;
import kinosearch.core.KinoPlay;
import kinosearch.core.SpringConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfig.class})
public class TestOnlinelife extends KinoWarezTestCase {
@Autowired
@Qualifier("onlinelife")
private KinoWarez kinoWarez;
@Test
@Override
public void testNotFound() {
notFound(kinoWarez);
}
@Test
@Override
public void testFound() {
found("день доктора", kinoWarez);
}
@Test
@Override
public void testFoundOneFilm() {
oneFilm("/14150-doktor-kto-den-doktora-2013.html", kinoWarez);
}
@Test
@Override
public void testFoundSimpleSerial() {
simpleSerial("/4569-gurren-lagann-2014.html", kinoWarez);
}
@Test
@Override
public void testFoundSeasonSerial() {
seasonsSerial("/915-doktor-kto.html", kinoWarez);
}
}

View File

@@ -0,0 +1,49 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2017-01-15
*/
package kinosearch.core.warez;
import kinosearch.core.SpringConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfig.class})
public class TestSeasonvar extends KinoWarezTestCase {
@Autowired
@Qualifier("seasonvar")
private KinoWarez kinoWarez;
@Test
@Override
public void testNotFound() {
notFound(kinoWarez);
}
@Test
@Override
public void testFound() {
found("рик и морти", kinoWarez);
}
@Override
public void testFoundOneFilm() {
// ignore
}
@Test
@Override
public void testFoundSimpleSerial() {
simpleSerial("/serial-14999-Balabol.html", kinoWarez);
}
@Override
public void testFoundSeasonSerial() {
// ignore
}
}