/****************************************************************************/
/* File: RepositoryTest.java */
/* Author: F. Georges - H2O Consulting */
/* Date: 2010-12-04 */
/* Tags: */
/* Copyright (c) 2010-2013 Florent Georges (see end of file.) */
/* ------------------------------------------------------------------------ */
package org.expath.pkg.repo;
import java.io.File;
import java.util.Collection;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
/**
* Unit tests for {@link Repository}.
*
* @author Florent Georges
*/
public class RepositoryTest
{
@Test
public void testConstructor()
throws Exception
{
Storage storage = new FileSystemStorage(new File("test/repos/simple"));
Repository sut = new Repository(storage);
Collection<Packages> packages_list = sut.listPackages();
assertEquals("number of packages", 1, packages_list.size());
Packages packages = packages_list.iterator().next();
assertNotNull("packages not null", packages);
assertEquals("packages name", HELLO_NAME, packages.name());
assertNotNull("latest not null", packages.latest());
assertNotNull("get 1.1.1 not null", packages.version("1.1.1"));
assertNull("get 1.0 null", packages.version("1.0"));
assertNull("get 1 null", packages.version("1"));
assertSame("latest =is= get 1.1", packages.latest(), packages.version("1.1.1"));
assertEquals("get 1.1.1 version", "1.1.1", packages.version("1.1.1").getVersion());
Collection<Package> package_list = packages.packages();
assertEquals("number of package versions", 1, package_list.size());
Package pkg = package_list.iterator().next();
assertNotNull("package not null", pkg);
assertEquals("version", "1.1.1", pkg.getVersion());
assertEquals("name", HELLO_NAME, pkg.getName());
}
private static final String HELLO_NAME = "http://www.example.org/lib/hello";
}
/* ------------------------------------------------------------------------ */
/* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS COMMENT. */
/* */
/* The contents of this file are subject to the Mozilla Public License */
/* Version 1.0 (the "License"); you may not use this file except in */
/* compliance with the License. You may obtain a copy of the License at */
/* http://www.mozilla.org/MPL/. */
/* */
/* Software distributed under the License is distributed on an "AS IS" */
/* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */
/* the License for the specific language governing rights and limitations */
/* under the License. */
/* */
/* The Original Code is: all this file. */
/* */
/* The Initial Developer of the Original Code is Florent Georges. */
/* */
/* Contributor(s): none. */
/* ------------------------------------------------------------------------ */