mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-18 19:26:12 +00:00
refactoring: Rename presentation to presentation model (#2291)
* Rename presentation to presentation-model * Rename image * Rename UML diagram * Rename presentation to presentation-model * Rename package to presentationmodel * Rename module reference in pom.xml
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
|
||||
*
|
||||
* The MIT License
|
||||
* Copyright © 2014-2022 Ilkka Seppälä
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.iluwatar.presentationmodel;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class AlbumTest {
|
||||
@Test
|
||||
void testSetTitle(){
|
||||
Album album = new Album("a", "b", false, "");
|
||||
album.setTitle("b");
|
||||
assertEquals("b", album.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetArtist(){
|
||||
Album album = new Album("a", "b", false, "");
|
||||
album.setArtist("c");
|
||||
assertEquals("c", album.getArtist());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetClassical(){
|
||||
Album album = new Album("a", "b", false, "");
|
||||
album.setClassical(true);
|
||||
assertTrue(album.isClassical());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetComposer(){
|
||||
Album album = new Album("a", "b", false, "");
|
||||
album.setClassical(true);
|
||||
album.setComposer("w");
|
||||
assertEquals("w", album.getComposer());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
|
||||
*
|
||||
* The MIT License
|
||||
* Copyright © 2014-2022 Ilkka Seppälä
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.iluwatar.presentationmodel;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
|
||||
/**
|
||||
* Issue: Add at least one assertion to this test case.
|
||||
*
|
||||
* Solution: Inserted assertion to check whether the execution of the main method in {@link App}
|
||||
* throws an exception.
|
||||
*/
|
||||
class AppTest {
|
||||
|
||||
@Test
|
||||
void shouldExecuteApplicationWithoutException() {
|
||||
assertDoesNotThrow(() -> App.main(new String[]{}));
|
||||
}
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
|
||||
*
|
||||
* The MIT License
|
||||
* Copyright © 2014-2022 Ilkka Seppälä
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.iluwatar.presentationmodel;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class DisplayedAlbumsTest {
|
||||
@Test
|
||||
void testAdd_true(){
|
||||
DisplayedAlbums displayedAlbums = new DisplayedAlbums();
|
||||
displayedAlbums.addAlbums("title", "artist", true, "composer");
|
||||
assertEquals("composer", displayedAlbums.getAlbums().get(0).getComposer());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAdd_false(){
|
||||
DisplayedAlbums displayedAlbums = new DisplayedAlbums();
|
||||
displayedAlbums.addAlbums("title", "artist", false, "composer");
|
||||
assertEquals("", displayedAlbums.getAlbums().get(0).getComposer());
|
||||
}
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
|
||||
*
|
||||
* The MIT License
|
||||
* Copyright © 2014-2022 Ilkka Seppälä
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.iluwatar.presentationmodel;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class PresentationTest {
|
||||
String[] albumList = {"HQ", "The Rough Dancer and Cyclical Night", "The Black Light", "Symphony No.5"};
|
||||
|
||||
@Test
|
||||
void testCreateAlbumList() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String[] list = model.getAlbumList();
|
||||
assertEquals(Arrays.toString(albumList), Arrays.toString(list));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetSelectedAlbumNumber_1() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
final int selectId = 2;
|
||||
model.setSelectedAlbumNumber(selectId);
|
||||
assertEquals(albumList[selectId - 1], model.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetSelectedAlbumNumber_2() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
final int selectId = 4;
|
||||
model.setSelectedAlbumNumber(selectId);
|
||||
assertEquals(albumList[selectId - 1], model.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetTitle_1() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testTitle = "TestTile";
|
||||
model.setTitle(testTitle);
|
||||
assertEquals(testTitle, model.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetTitle_2() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testTitle = "";
|
||||
model.setTitle(testTitle);
|
||||
assertEquals(testTitle, model.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetArtist_1() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testArtist = "TestArtist";
|
||||
model.setArtist(testArtist);
|
||||
assertEquals(testArtist, model.getArtist());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetArtist_2() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testArtist = "";
|
||||
model.setArtist(testArtist);
|
||||
assertEquals(testArtist, model.getArtist());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetIsClassical() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
model.setIsClassical(true);
|
||||
assertTrue(model.getIsClassical());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetComposer_false() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testComposer = "TestComposer";
|
||||
|
||||
model.setIsClassical(false);
|
||||
model.setComposer(testComposer);
|
||||
assertEquals("", model.getComposer());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSetComposer_true() {
|
||||
PresentationModel model = new PresentationModel(PresentationModel.albumDataSet());
|
||||
String testComposer = "TestComposer";
|
||||
|
||||
model.setIsClassical(true);
|
||||
model.setComposer(testComposer);
|
||||
assertEquals(testComposer, model.getComposer());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt).
|
||||
*
|
||||
* The MIT License
|
||||
* Copyright © 2014-2022 Ilkka Seppälä
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
package com.iluwatar.presentationmodel;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class ViewTest {
|
||||
String[] albumList = {"HQ", "The Rough Dancer and Cyclical Night", "The Black Light", "Symphony No.5"};
|
||||
|
||||
@Test
|
||||
void testSave_setArtistAndTitle(){
|
||||
View view = new View();
|
||||
view.createView();
|
||||
String testTitle = "testTitle";
|
||||
String testArtist = "testArtist";
|
||||
view.getTxtArtist().setText(testArtist);
|
||||
view.getTxtTitle().setText(testTitle);
|
||||
view.saveToPMod();
|
||||
view.loadFromPMod();
|
||||
assertEquals(testTitle, view.getModel().getTitle());
|
||||
assertEquals(testArtist, view.getModel().getArtist());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSave_setClassicalAndComposer(){
|
||||
View view = new View();
|
||||
view.createView();
|
||||
boolean isClassical = true;
|
||||
String testComposer = "testComposer";
|
||||
view.getChkClassical().setSelected(isClassical);
|
||||
view.getTxtComposer().setText(testComposer);
|
||||
view.saveToPMod();
|
||||
view.loadFromPMod();
|
||||
assertTrue(view.getModel().getIsClassical());
|
||||
assertEquals(testComposer, view.getModel().getComposer());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testLoad_1(){
|
||||
View view = new View();
|
||||
view.createView();
|
||||
view.getModel().setSelectedAlbumNumber(2);
|
||||
view.loadFromPMod();
|
||||
assertEquals(albumList[1], view.getModel().getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testLoad_2(){
|
||||
View view = new View();
|
||||
view.createView();
|
||||
view.getModel().setSelectedAlbumNumber(4);
|
||||
view.loadFromPMod();
|
||||
assertEquals(albumList[3], view.getModel().getTitle());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user