Package tests.net.sf.jabref.bst

Source Code of tests.net.sf.jabref.bst.BibtexNameFormatterTest

package tests.net.sf.jabref.bst;

import junit.framework.TestCase;
import net.sf.jabref.AuthorList;
import net.sf.jabref.bst.BibtexNameFormatter;
import net.sf.jabref.bst.Warn;

public class BibtexNameFormatterTest extends TestCase {

  public void testFormatName() {
    {
      AuthorList al = AuthorList
        .getAuthorList("Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");

      assertEquals("de~laVall{\\'e}e~PoussinCharles Louis Xavier~Joseph", BibtexNameFormatter.formatName(al
        .getAuthor(0), "{vv}{ll}{jj}{ff}", new Warn() {
        public void warn(String s) {
          fail(s);
        }
      }));
    }
   
    {
      AuthorList al = AuthorList
        .getAuthorList("Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");

      assertEquals("de~la Vall{\\'e}e~Poussin, C.~L. X.~J.", BibtexNameFormatter.formatName(al
        .getAuthor(0), "{vv~}{ll}{, jj}{, f.}", new Warn() {
        public void warn(String s) {
          fail(s);
        }
      }));
    }

    {
      AuthorList al = AuthorList
        .getAuthorList("Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");

      assertEquals("de~la Vall{\\'e}e~Poussin, C.~L. X.~J?", BibtexNameFormatter.formatName(al
        .getAuthor(0), "{vv~}{ll}{, jj}{, f}?", new Warn() {
        public void warn(String s) {
          fail(s);
        }
      }));
    }

    {
      AuthorList al = AuthorList
        .getAuthorList("Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");

      assertEquals("dlVP", BibtexNameFormatter.formatName(al.getAuthor(0), "{v{}}{l{}}",
        new Warn() {
          public void warn(String s) {
            fail(s);
          }
        }));
    }
   
    assertNameFormatA("Meyer, J?", "Jonathan Meyer and Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");
      assertNameFormatB("J.~Meyer", "Jonathan Meyer and Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");
      assertNameFormatC("Jonathan Meyer", "Jonathan Meyer and Charles Louis Xavier Joseph de la Vall{\\'e}e Poussin");
      assertNameFormatA("Masterly, {\\'{E}}?", "{\\'{E}}douard Masterly");
      assertNameFormatB("{\\'{E}}.~Masterly", "{\\'{E}}douard Masterly");
      assertNameFormatC("{\\'{E}}douard Masterly", "{\\'{E}}douard Masterly");
      assertNameFormatA("{\\\"{U}}nderwood, U?", "Ulrich {\\\"{U}}nderwood and Ned {\\~N}et and Paul {\\={P}}ot");
      assertNameFormatB("U.~{\\\"{U}}nderwood", "Ulrich {\\\"{U}}nderwood and Ned {\\~N}et and Paul {\\={P}}ot");
      assertNameFormatC("Ulrich {\\\"{U}}nderwood", "Ulrich {\\\"{U}}nderwood and Ned {\\~N}et and Paul {\\={P}}ot");
      assertNameFormatA("Victor, P.~{\\'E}?", "Paul {\\'E}mile Victor and and de la Cierva y Codorn{\\�\\i}u, Juan");
      assertNameFormatB("P.~{\\'E}. Victor", "Paul {\\'E}mile Victor and and de la Cierva y Codorn{\\�\\i}u, Juan");
      assertNameFormatC("Paul~{\\'E}mile Victor", "Paul {\\'E}mile Victor and and de la Cierva y Codorn{\\�\\i}u, Juan");
   
  }

  private void assertNameFormat(String string, String string2, int which, String format){
    assertEquals(string, BibtexNameFormatter.formatName(string2, which, format,
      new Warn() {
        public void warn(String s) {
          fail(s);
        }
      }));
  }
 
  private void assertNameFormatC(String string, String string2) {
    assertNameFormat(string, string2, 1, "{ff }{vv }{ll}{ jj}");
  }

  private void assertNameFormatB(String string, String string2) {
    assertNameFormat(string, string2, 1, "{f.~}{vv~}{ll}{, jj}");
  }

  private void assertNameFormatA(String string, String string2) {
    assertNameFormat(string, string2, 1, "{vv~}{ll}{, jj}{, f}?");
  }

  public void testConsumeToMatchingBrace() {
    {
      StringBuffer sb = new StringBuffer();
      assertEquals(6, BibtexNameFormatter.consumeToMatchingBrace(sb, "{HELLO} {WORLD}"
        .toCharArray(), 0));
      assertEquals("{HELLO}", sb.toString());
    }
    {
      StringBuffer sb = new StringBuffer();
      assertEquals(18, BibtexNameFormatter.consumeToMatchingBrace(sb, "{HE{L{}L}O} {WORLD}"
        .toCharArray(), 12));
      assertEquals("{WORLD}", sb.toString());
    }
    {
      StringBuffer sb = new StringBuffer();
      assertEquals(10, BibtexNameFormatter.consumeToMatchingBrace(sb, "{HE{L{}L}O} {WORLD}"
        .toCharArray(), 0));
      assertEquals("{HE{L{}L}O}", sb.toString());
    }
  }

  public void testGetFirstCharOfString() {
    assertEquals("C", BibtexNameFormatter.getFirstCharOfString("Charles"));
    assertEquals("V", BibtexNameFormatter.getFirstCharOfString("Vall{\\'e}e"));
    assertEquals("{\\'e}", BibtexNameFormatter.getFirstCharOfString("{\\'e}"));
    assertEquals("{\\'e", BibtexNameFormatter.getFirstCharOfString("{\\'e"));
    assertEquals("E", BibtexNameFormatter.getFirstCharOfString("{E"));
  }

  public void testNumberOfChars() {

    assertEquals(6, BibtexNameFormatter.numberOfChars("Vall{\\'e}e", -1));
    assertEquals(2, BibtexNameFormatter.numberOfChars("Vall{\\'e}e", 2));
    assertEquals(1, BibtexNameFormatter.numberOfChars("Vall{\\'e}e", 1));
    assertEquals(6, BibtexNameFormatter.numberOfChars("Vall{\\'e}e", 6));
    assertEquals(6, BibtexNameFormatter.numberOfChars("Vall{\\'e}e", 7));
    assertEquals(8, BibtexNameFormatter.numberOfChars("Vall{e}e", -1));
    assertEquals(6, BibtexNameFormatter.numberOfChars("Vall{\\'e this will be skipped}e", -1));
  }

}
TOP

Related Classes of tests.net.sf.jabref.bst.BibtexNameFormatterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.