blob: 6272381b31461bf95b9237bd5a2632ea5af2d625 [file] [log] [blame]
/*******************************************************************************
* 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);
}
}