package com.explodingpixels.macwidgets; import com.explodingpixels.macwidgets.SourceList; import com.explodingpixels.macwidgets.SourceListCategory; import com.explodingpixels.macwidgets.SourceListItem; import com.explodingpixels.macwidgets.SourceListModel; import com.explodingpixels.widgets.WindowUtils; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.SwingUtilities; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.awt.BorderLayout; public class DSourceListITunesTest { public static SourceList createSourceList() { Icon musicPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunesMusicPlaylist.png")); Icon moviesPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunesMoviesPlaylist.png")); Icon tvShowsPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunesTVShowsPlaylist.png")); Icon podcastsPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunes7PodcastsPlaylist.png")); Icon purchasedPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunes7PurchasedPlaylist.png")); Icon playlistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunes7Playlist.png")); Icon smartPlaylistIcon = new ImageIcon(DSourceListITunesTest.class.getResource("./icons/MBiTunes7SmartPlaylist.png")); final SourceListModel model = new SourceListModel(); SourceListCategory libraryCategory = new SourceListCategory("Library"); SourceListCategory storeCategory = new SourceListCategory("Store"); SourceListCategory playlistCategory = new SourceListCategory("Playlists"); model.addCategory(libraryCategory); model.addCategory(storeCategory); model.addCategory(playlistCategory); model.addItemToCategory(new SourceListItem("Music", musicPlaylistIcon), libraryCategory); model.addItemToCategory(new SourceListItem("Movies", moviesPlaylistIcon), libraryCategory); model.addItemToCategory(new SourceListItem("TV Shows", tvShowsPlaylistIcon), libraryCategory); model.addItemToCategory(new SourceListItem("Podcasts", podcastsPlaylistIcon), libraryCategory); model.addItemToCategory(new SourceListItem("Purchased", purchasedPlaylistIcon), storeCategory); model.addItemToCategory(new SourceListItem("My playlist", playlistIcon), playlistCategory); model.addItemToCategory(new SourceListItem("My smart playlist", smartPlaylistIcon), playlistCategory); return new SourceList(model); } @Test public void doTest() throws Exception { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); WindowUtils.createAndInstallRepaintWindowFocusListener(frame); frame.add(createSourceList().getComponent(), BorderLayout.CENTER); frame.setSize(225, 250); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setVisible(true); } }); } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } }