| /******************************************************************************* |
| * Copyright (c) 2011 Christian Trutz |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Christian Trutz - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.egit.github.core.tests; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNull; |
| import static org.junit.Assert.assertTrue; |
| |
| import java.util.Date; |
| |
| import org.eclipse.egit.github.core.Milestone; |
| import org.eclipse.egit.github.core.User; |
| import org.junit.Test; |
| |
| /** |
| * Unit tests of {@link Milestone} |
| */ |
| public class MilestoneTest { |
| |
| /** |
| * Test default state of milestone |
| */ |
| @Test |
| public void defaultState() { |
| Milestone milestone = new Milestone(); |
| assertEquals(0, milestone.getClosedIssues()); |
| assertNull(milestone.getCreatedAt()); |
| assertNull(milestone.getCreator()); |
| assertNull(milestone.getDescription()); |
| assertNull(milestone.getDueOn()); |
| assertEquals(0, milestone.getNumber()); |
| assertEquals(0, milestone.getOpenIssues()); |
| assertNull(milestone.getState()); |
| assertNull(milestone.getTitle()); |
| assertNull(milestone.getUrl()); |
| } |
| |
| /** |
| * Test updating milestone fields |
| */ |
| @Test |
| public void updateFields() { |
| Milestone milestone = new Milestone(); |
| assertEquals(1, milestone.setClosedIssues(1).getClosedIssues()); |
| assertEquals(new Date(10000), milestone.setCreatedAt(new Date(10000)) |
| .getCreatedAt()); |
| User creator = new User().setLogin("creator"); |
| assertEquals(creator, milestone.setCreator(creator).getCreator()); |
| assertEquals("desc", milestone.setDescription("desc").getDescription()); |
| assertEquals(new Date(20000), milestone.setDueOn(new Date(20000)) |
| .getDueOn()); |
| assertEquals(4, milestone.setNumber(4).getNumber()); |
| assertEquals(10, milestone.setOpenIssues(10).getOpenIssues()); |
| assertEquals("state", milestone.setState("state").getState()); |
| assertEquals("title", milestone.setTitle("title").getTitle()); |
| assertEquals("url", milestone.setUrl("url").getUrl()); |
| } |
| |
| /** |
| * Test non-mutable created at date |
| */ |
| @Test |
| public void getCreatedAtReferenceMutableObject() { |
| Milestone milestone = new Milestone(); |
| milestone.setCreatedAt(new Date(5000)); |
| milestone.getCreatedAt().setTime(0); |
| assertTrue(milestone.getCreatedAt().getTime() != 0); |
| } |
| |
| /** |
| * Test non-mutable due on date |
| */ |
| @Test |
| public void getDueOn_ReferenceMutableObject() { |
| Milestone milestone = new Milestone(); |
| milestone.setDueOn(new Date(2000)); |
| milestone.getDueOn().setTime(0); |
| assertTrue(milestone.getDueOn().getTime() != 0); |
| } |
| |
| /** |
| * Test non-mutable due on date |
| */ |
| @Test |
| public void setDueOnReferenceMutableObject() { |
| Milestone milestone = new Milestone(); |
| Date longTimeAgo = new Date(0L); |
| milestone.setDueOn(longTimeAgo); |
| longTimeAgo.setTime(10000L); |
| assertTrue(milestone.getDueOn().getTime() == 0L); |
| } |
| } |