package de.saring.sportstracker.gui.dialogs; import de.saring.sportstracker.data.Equipment; import de.saring.sportstracker.data.SportSubType; import de.saring.sportstracker.data.SportType; import javafx.scene.paint.Color; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Unit tests of class SportTypeViewModel. * * @author Stefan Saring */ public class SportTypeViewModelTest { private SportType sportType; @Before public void setUp() { sportType = new SportType(123); sportType.setName("Foo Bar"); sportType.setRecordDistance(false); sportType.setColor(Color.color(0.8d, 0.7d, 0.6d)); sportType.setIcon("fooBar.png"); sportType.getSportSubTypeList().set(new SportSubType(200)); sportType.getSportSubTypeList().set(new SportSubType(201)); sportType.getEquipmentList().set(new Equipment(300)); sportType.getEquipmentList().set(new Equipment(301)); } /** * Test of method getSportType() without modifications. */ @Test public void testGetSportTypeUnmodified() { SportTypeViewModel viewModel = new SportTypeViewModel(sportType); SportType unmodifiedSportType = viewModel.getSportType(); assertEquals(sportType.getId(), unmodifiedSportType.getId()); assertEquals(sportType.getName(), unmodifiedSportType.getName()); assertEquals(sportType.isRecordDistance(), unmodifiedSportType.isRecordDistance()); assertEquals(sportType.getColor(), unmodifiedSportType.getColor()); assertEquals(sportType.getIcon(), unmodifiedSportType.getIcon()); assertEquals(2, unmodifiedSportType.getSportSubTypeList().size()); assertEquals(200, unmodifiedSportType.getSportSubTypeList().getAt(0).getId()); assertEquals(201, unmodifiedSportType.getSportSubTypeList().getAt(1).getId()); assertEquals(2, unmodifiedSportType.getEquipmentList().size()); assertEquals(300, unmodifiedSportType.getEquipmentList().getAt(0).getId()); assertEquals(301, unmodifiedSportType.getEquipmentList().getAt(1).getId()); } /** * Test of method getSportType() after modifications. */ @Test public void testGetSportTypeModified() { SportTypeViewModel viewModel = new SportTypeViewModel(sportType); viewModel.name.set(" Bar Foo "); viewModel.recordDistance.set(true); viewModel.color.set(Color.color(1.0d, 0.5d, 0d)); viewModel.sportSubtypes.removeByID(200); viewModel.equipments.set(new Equipment(302)); SportType modifiedSportType = viewModel.getSportType(); assertEquals("Bar Foo", modifiedSportType.getName()); assertTrue(modifiedSportType.isRecordDistance()); assertEquals(Color.color(1.0d, 0.5d, 0d), modifiedSportType.getColor()); assertEquals(1, modifiedSportType.getSportSubTypeList().size()); assertEquals(201, modifiedSportType.getSportSubTypeList().getAt(0).getId()); assertEquals(3, modifiedSportType.getEquipmentList().size()); assertEquals(300, modifiedSportType.getEquipmentList().getAt(0).getId()); assertEquals(301, modifiedSportType.getEquipmentList().getAt(1).getId()); assertEquals(302, modifiedSportType.getEquipmentList().getAt(2).getId()); } }