Merge branch 'tibor' into 'master'

exercise_type field extensions, tests

See merge request bossanyit/aitrainer_server!4
This commit is contained in:
Bossányi Tibor 2020-07-03 08:13:20 +00:00
commit 81530230c6
3 changed files with 51 additions and 15 deletions

View File

@ -76,6 +76,7 @@ CREATE TABLE IF NOT EXISTS `exercises` (
`date_add` datetime NOT NULL,
`quantity` float DEFAULT NULL,
`unit` enum('kg','meter','repeat','minute') COLLATE utf8_hungarian_ci DEFAULT 'repeat',
`unit_quantity` float DEFAULT NULL,
`rest_time` int(11) DEFAULT NULL COMMENT 'in sec',
PRIMARY KEY (`exercise_id`),
KEY `exercise_type_id` (`exercise_type_id`),
@ -114,23 +115,40 @@ CREATE TABLE IF NOT EXISTS `exercise_type` (
`name` char(100) COLLATE utf8_hungarian_ci NOT NULL,
`description` varchar(1000) COLLATE utf8_hungarian_ci DEFAULT NULL,
`video` mediumblob DEFAULT NULL,
`unit` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',
`unit_quantity` TINYINT(1) NULL DEFAULT NULL,
`unit_quantity_unit` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',
PRIMARY KEY (`exercise_type_id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
-- Tábla adatainak mentése aitrainer.exercise_type: ~11 rows (hozzávetőleg)
/*!40000 ALTER TABLE `exercise_type` DISABLE KEYS */;
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`) VALUES
(1, 'Melső fekvőtámasz 1 perc', 'Ezt igazolja a 2016 márciusában beállított guinness rekord is,\r\namelyben KJ Joseph 1 perc alatt 82 szabályos karhajlítás-nyújtást\r\nvégzett.', NULL),
(2, 'Húzódzkodás', 'Ennek a gyakorlatnak a 24 órás csúcstartója Joonas Mäkipelto 5050\r\ngyakorlattal.', NULL),
(3, 'Melső fekvőtámasz 30mp', 'A gyakorlatot 30 másodperc alatt olyan sokszor kell végrehajtani, ahányszor a\r\nfelvételiző képes rá. Azonban törekedni kell a szabályos végrehajtásra, ugyanis csak azokat\r\nszámolják. A nők esetében 20, a férfiak esetében 35 gyakorlatot kell végrehajtani a maximális\r\npont megszerzéséért. A gyakorlat akkor sikeres, ha a női legalább 1, a férfi felvételiző\r\nlegalább 11 gyakorlatot képes végrehajtani.', NULL),
(4, 'Melső fekvőtámasz 2perc', 'Magyar Honvédség: A gyakorlat végrehajtására 2 perc áll rendelkezésre. Ennek során csak a szabályosan a\r\nfentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál 70 karhajlítás nyújtást\r\nkell végrehajtani a maximális pontért.', NULL),
(5, 'Hajlított karú függés', 'A gyakorlat addig tart, amíg a végrehajtó szemmagassága a kiinduló helyzettől\r\nsüllyedve a keresztvas alá nem kerül. Az értékeléshez stopperórát alkalmaznak, és az\r\neredmény másodperc pontossággal kerül megállapításra. Nők esetében 45, férfiak\r\ntekintetében 73 másodperctől jár a maximális pontszám. A gyakorlat sikeres végrehajtásához\r\nlegalább 8, 10 másodpercig kell megtartaniuk a kiinduló helyzetet a női és a férfi\r\nfelvételizőknek.\r\n\r\nA NKE-RTK-án lévő hallgatók egyéni rekordjai Iván Viktor 90s, Kiss Regina 74s', NULL),
(6, 'Fekvenyomás', '2015-ben a fekvenyomó világbajnokságot Smulter Fredrik finn súlyemelő 401 Kg-al nyerte.\r\nA súlyzó tömege nők esetében 25 kg, a férfiak esetében 60 kg a rúddal együtt. Az\r\nértékelésénél a szabályosan végrehajtott gyakorlatokat értékelik csak.\r\nA legtöbb pontért 25 gyakorlatot kell végezni mind a nőknek, mind a férfiaknak. A minimum:\r\negy gyakorlat mindkét nem esetében.', NULL),
(7, '4x10m-es ingafutás', 'A legjobb pontszámért 9,4 s illetve 8,8s alatt kell teljesíteni a nőknek, férfiaknak. A\r\ngyakorlat sikertelen 11,8 s illetve 11,2 s-on túl.', NULL),
(8, 'Helyből távolugrás', 'Byron Jones 2015-ben a 3,73 méteres ugrásával érte el a világcsúcsot.\r\nA nőknek 220 cm-re, a férfiak 250 cm-re kell ugraniuk a maximális pontért. A\r\nminimális távolság 172cm illetve 198 cm.', NULL),
(9, 'Felülés hanyattfekvésből', 'Az NKE-RTK hallgatói közül Papp Zsófia 66 db-ot, Gál Valentin 80\r\ndb-ot csinált 1 perc leforgása alatt.\r\nElső ütemre megtörténik a felülés, ami akkor szabályos, ha valamelyik könyök érinti a\r\ntérdet. Második ütemre vissza kell térni a kiinduló helyzetbe. A maximális pont eléréséhez 1\r\nperc alatt 45 illetve 55 ismétlést kell végezni a nőknek illetve a férfiaknak. A minimumhoz 7\r\nés 25 ismétlés szükséges.', NULL),
(10, 'Felülés hajlított térddel', 'Magyar Honvédség: A kiinduló helyzet hajlított ülés, ennek során a sarkak a talajon, a térd 90 fokban meghajlítva\r\nvan.\r\nA gyakorlat végrehajtására két perc áll rendelkezésre. Ennek során csak a szabályosan,\r\na fentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál, nőknél egyaránt 90\r\ngyakorlatot kell végrehajtani a maximális pontért. Amennyiben a megadott időkeret alatt nem\r\nsikerül legalább 25 szabályos gyakorlatot végrehajtani, úgy az sikertelennek minősül.', NULL),
(11, 'Síkfutás 2000m', 'A maximálisan megszerezhető pontot az a felvételiző gyűjtheti be, aki a távot nők\r\nesetében 10:00 perc alatt, férfiak esetében 7:35 perc alatt teljesíti. A gyakorlat sikeres\r\nteljesítésére nők esetében maximum 16:00 perc, férfiak esetében 13:30 perc áll rendelkezésre.', NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (1, 'Melső fekvőtámasz 1 perc', 'Ezt igazolja a 2016 márciusában beállított guinness rekord is,\r\namelyben KJ Joseph 1 perc alatt 82 szabályos karhajlítás-nyújtást\r\nvégzett.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (2, 'Húzódzkodás', 'Ennek a gyakorlatnak a 24 órás csúcstartója Joonas Mäkipelto 5050\r\ngyakorlattal.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (3, 'Melső fekvőtámasz 30mp', 'A gyakorlatot 30 másodperc alatt olyan sokszor kell végrehajtani, ahányszor a\r\nfelvételiző képes rá. Azonban törekedni kell a szabályos végrehajtásra, ugyanis csak azokat\r\nszámolják. A nők esetében 20, a férfiak esetében 35 gyakorlatot kell végrehajtani a maximális\r\npont megszerzéséért. A gyakorlat akkor sikeres, ha a női legalább 1, a férfi felvételiző\r\nlegalább 11 gyakorlatot képes végrehajtani.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (4, 'Melső fekvőtámasz 2perc', 'Magyar Honvédség: A gyakorlat végrehajtására 2 perc áll rendelkezésre. Ennek során csak a szabályosan a\r\nfentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál 70 karhajlítás nyújtást\r\nkell végrehajtani a maximális pontért.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (5, 'Hajlított karú függés', 'A gyakorlat addig tart, amíg a végrehajtó szemmagassága a kiinduló helyzettől\r\nsüllyedve a keresztvas alá nem kerül. Az értékeléshez stopperórát alkalmaznak, és az\r\neredmény másodperc pontossággal kerül megállapításra. Nők esetében 45, férfiak\r\ntekintetében 73 másodperctől jár a maximális pontszám. A gyakorlat sikeres végrehajtásához\r\nlegalább 8, 10 másodpercig kell megtartaniuk a kiinduló helyzetet a női és a férfi\r\nfelvételizőknek.\r\n\r\nA NKE-RTK-án lévő hallgatók egyéni rekordjai Iván Viktor 90s, Kiss Regina 74s', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (6, 'Fekvenyomás', '2015-ben a fekvenyomó világbajnokságot Smulter Fredrik finn súlyemelő 401 Kg-al nyerte.\r\nA súlyzó tömege nők esetében 25 kg, a férfiak esetében 60 kg a rúddal együtt. Az\r\nértékelésénél a szabályosan végrehajtott gyakorlatokat értékelik csak.\r\nA legtöbb pontért 25 gyakorlatot kell végezni mind a nőknek, mind a férfiaknak. A minimum:\r\negy gyakorlat mindkét nem esetében.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (7, '4x10m-es ingafutás', 'A legjobb pontszámért 9,4 s illetve 8,8s alatt kell teljesíteni a nőknek, férfiaknak. A\r\ngyakorlat sikertelen 11,8 s illetve 11,2 s-on túl.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (8, 'Helyből távolugrás', 'Byron Jones 2015-ben a 3,73 méteres ugrásával érte el a világcsúcsot.\r\nA nőknek 220 cm-re, a férfiak 250 cm-re kell ugraniuk a maximális pontért. A\r\nminimális távolság 172cm illetve 198 cm.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (9, 'Felülés hanyattfekvésből', 'Az NKE-RTK hallgatói közül Papp Zsófia 66 db-ot, Gál Valentin 80\r\ndb-ot csinált 1 perc leforgása alatt.\r\nElső ütemre megtörténik a felülés, ami akkor szabályos, ha valamelyik könyök érinti a\r\ntérdet. Második ütemre vissza kell térni a kiinduló helyzetbe. A maximális pont eléréséhez 1\r\nperc alatt 45 illetve 55 ismétlést kell végezni a nőknek illetve a férfiaknak. A minimumhoz 7\r\nés 25 ismétlés szükséges.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (10, 'Felülés hajlított térddel', 'Magyar Honvédség: A kiinduló helyzet hajlított ülés, ennek során a sarkak a talajon, a térd 90 fokban meghajlítva\r\nvan.\r\nA gyakorlat végrehajtására két perc áll rendelkezésre. Ennek során csak a szabályosan,\r\na fentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál, nőknél egyaránt 90\r\ngyakorlatot kell végrehajtani a maximális pontért. Amennyiben a megadott időkeret alatt nem\r\nsikerül legalább 25 szabályos gyakorlatot végrehajtani, úgy az sikertelennek minősül.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (11, 'Síkfutás 2000m', 'A maximálisan megszerezhető pontot az a felvételiző gyűjtheti be, aki a távot nők\r\nesetében 10:00 perc alatt, férfiak esetében 7:35 perc alatt teljesíti. A gyakorlat sikeres\r\nteljesítésére nők esetében maximum 16:00 perc, férfiak esetében 13:30 perc áll rendelkezésre.', NULL, NULL, NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (30, 'Cooper', '12 minutes run, how many meters', NULL, 'meter', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (31, '300m', NULL, NULL, 'second', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (32, '400m', NULL, NULL, 'second', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (33, 'Pushup', NULL, NULL, 'repeat', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (34, 'Timed Pushup', NULL, NULL, 'repeat', 1, 'second');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (35, 'Squats', NULL, NULL, 'repeat', 1, 'kg');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (36, 'Sit-Ups', NULL, NULL, 'repeat', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (37, 'Chest Press', NULL, NULL, 'repeat', 1, 'kg');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (38, 'Pull Ups', NULL, NULL, 'repeat', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (39, 'Biceps', NULL, NULL, 'repeat', 1, 'kg');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (40, 'Triceps', NULL, NULL, 'repeat', 1, 'kg');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (41, 'Shoulders', NULL, NULL, 'repeat', 1, 'kg');
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (42, 'BMI', NULL, NULL, 'percent', NULL, NULL);
INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (43, 'BMR', NULL, NULL, NULL, NULL, NULL);
/*!40000 ALTER TABLE `exercise_type` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;

View File

@ -14,8 +14,11 @@ data class ExerciseType (
@get: NotBlank var name: String = "",
@get: NotBlank var description: String = "",
@get: Null var video: BinaryType?,
@get: NotBlank var unit: String = "",
@get: Null var unitQuantity: String = "",
@get: Null var unitQuantityUnit: String = "",
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val exerciseTypeId: Long = 0
)

View File

@ -18,9 +18,20 @@ class ExerciseTypeTest {
@Test
fun testGet() {
val id: Long = 7
val extype: ExerciseType = exerciseTypeRepository.findById(id).orElse(null)
var id: Long = 7
var extype: ExerciseType = exerciseTypeRepository.findById(id).orElse(null)
assertEquals(extype.name, "4x10m-es ingafutás")
id = 38
extype = exerciseTypeRepository.findById(id).orElse(null)
assertEquals(extype.name, "Pull Ups")
assertEquals(extype.unit, "repeat")
id = 37
extype = exerciseTypeRepository.findById(id).orElse(null)
assertEquals(extype.name, "Chest Press")
assertEquals(extype.unit, "repeat")
assertEquals(extype.unitQuantityUnit, "kg")
}
@Test
@ -28,6 +39,10 @@ class ExerciseTypeTest {
val exerciseTypes: List<ExerciseType> = exerciseTypeRepository.findAll()
assertEquals(exerciseTypes[0].exerciseTypeId, 1)
assertEquals(exerciseTypes[0].name, "Melső fekvőtámasz 1 perc")
assertEquals(exerciseTypes[15].name, "Timed Pushup")
assertEquals(exerciseTypes[15].unit, "repeat")
assertEquals(exerciseTypes[15].unitQuantityUnit, "second")
}
@Test