微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

com.google.common.collect.EnumMultiset的实例源码

项目:gwt-jackson    文件MultisetGwtTest.java   
public void testSerialization() {
    BeanWithMultisetTypes bean = new BeanWithMultisetTypes();

    List<String> list = Arrays.asList( "foo","abc",null,"abc" );
    List<String> listWithNonNull = Arrays.asList( "foo","bar","abc" );

    bean.multiset = LinkedHashMultiset.create( list );
    bean.hashMultiset = HashMultiset.create( Arrays.asList( "abc","abc" ) );
    bean.linkedHashMultiset = LinkedHashMultiset.create( list );
    bean.sortedMultiset = TreeMultiset.create( listWithNonNull );
    bean.treeMultiset = TreeMultiset.create( listWithNonNull );
    bean.immutableMultiset = ImmutableMultiset.copyOf( listWithNonNull );
    bean.enumMultiset = EnumMultiset.create( Arrays.asList( AlphaEnum.B,AlphaEnum.A,AlphaEnum.D,AlphaEnum.A ) );

    String expected = "{" +
            "\"multiset\":[\"foo\",\"abc\",null]," +
            "\"hashMultiset\":[\"abc\",\"abc\"]," +
            "\"linkedHashMultiset\":[\"foo\"," +
            "\"sortedMultiset\":[\"abc\",\"bar\",\"foo\"]," +
            "\"treeMultiset\":[\"abc\"," +
            "\"immutableMultiset\":[\"foo\",\"bar\"]," +
            "\"enumMultiset\":[\"A\",\"A\",\"B\",\"D\"]" +
            "}";

    assertEquals( expected,BeanWithMultisetTypesMapper.INSTANCE.write( bean ) );
}
项目:gwt-jackson    文件MultisetGwtTest.java   
public void testDeserialization() {
    String input = "{" +
            "\"multiset\":[\"foo\"," +
            "\"sortedMultiset\":[\"foo\"," +
            "\"treeMultiset\":[\"bar\",\"foo\"," +
            "\"enumMultiset\":[\"B\",\"D\",null]" +
            "}";

    BeanWithMultisetTypes result = BeanWithMultisetTypesMapper.INSTANCE.read( input );
    assertNotNull( result );

    List<String> expectedList = Arrays.asList( "foo","abc" );
    List<String> expectedListWithNonNull = Arrays.asList( "foo","abc" );

    assertEquals( LinkedHashMultiset.create( expectedList ),result.multiset );
    assertEquals( HashMultiset.create( Arrays.asList( "abc","abc" ) ),result.hashMultiset );
    assertEquals( LinkedHashMultiset.create( expectedList ),result.linkedHashMultiset );
    assertEquals( TreeMultiset.create( expectedListWithNonNull ),result.sortedMultiset );
    assertEquals( TreeMultiset.create( expectedListWithNonNull ),result.treeMultiset );
    assertEquals( ImmutableMultiset.copyOf( expectedListWithNonNull ),result.immutableMultiset );
    assertEquals( EnumMultiset.create( Arrays.asList( AlphaEnum.B,AlphaEnum.A ) ),result.enumMultiset );
}
项目:creeper    文件Hand.java   
public Hand(Set<Card> cards) {
    this.cards = cards;
    checkArgument(cards.size() == 5);
    Set<Suit> suits = EnumSet.noneOf(Suit.class);
    Multiset<Rank> ranks = EnumMultiset.create(Rank.class);
    for (Card card : cards) {
        suits.add(card.suit);
        ranks.add(card.rank);
    }
    Set<Entry<Rank>> entries = ranks.entrySet();
    for (Entry<Rank> entry : byCountThenRank.immutableSortedcopy(entries)) {
        distinctRanks.addFirst(entry.getElement());
    }
    Rank first = distinctRanks.getFirst();
    int distinctCount = distinctRanks.size();
    if (distinctCount == 5) {
        boolean flush = suits.size() == 1;
        if (first.ordinal() - distinctRanks.getLast().ordinal() == 4) {
            category = flush ? STRAIGHT_FLUSH : STRAIGHT;
        }
        else if (first == ACE && distinctRanks.get(1) == FIVE) {
            category = flush ? STRAIGHT_FLUSH : STRAIGHT;
            // ace plays low,move to end
            distinctRanks.addLast(distinctRanks.removeFirst());
        }
        else {
            category = flush ? FLUSH : HIGH_CARD;
        }
    }
    else if (distinctCount == 4) {
        category = ONE_PAIR;
    }
    else if (distinctCount == 3) {
        category = ranks.count(first) == 2 ? TWO_PAIR : THREE_OF_A_KIND;
    }
    else {
        category = ranks.count(first) == 3 ? FULL_HOUSE : FOUR_OF_A_KIND;
    }
}
项目:QMAClone    文件GameTest.java   
@Test
public void prepareProblemsShouldSelectFromSelectedGenresAndTypesEqually() {
  List<Integer> problemIds = Lists.newArrayList();
  Set<ProblemGenre> selectedGenres = EnumSet.of(ProblemGenre.Anige,ProblemGenre.Sports);
  Set<ProblemType> selectedTypes = EnumSet.of(ProblemType.Marubatsu,ProblemType.YonTaku,ProblemType.Rensou);

  List<PacketProblem> problems = game.prepareProblems(0,NewAndOldProblems.Both,problemIds,selectedGenres,selectedTypes,null);

  Multiset<ProblemGenre> genres = EnumMultiset.create(ProblemGenre.class);
  Multiset<ProblemType> types = EnumMultiset.create(ProblemType.class);

  for (PacketProblem problem : problems) {
    assertthat(problem.genre,isIn(selectedGenres));
    genres.add(problem.genre);

    assertthat(problem.type,isIn(selectedTypes));
    types.add(problem.type);
  }

  // 問題が見つからなかった場合に問題数が少なくなる場合があることを許容する
  assertthat(genres.count(ProblemGenre.Anige),isOneOf(7,8,9));
  assertthat(genres.count(ProblemGenre.Sports),9));
  assertthat(types.count(ProblemType.Marubatsu),isOneOf(3,4,5,6,7));
  assertthat(types.count(ProblemType.YonTaku),7));
  assertthat(types.count(ProblemType.Rensou),7));
}
项目:molgenis    文件Parser.java   
/**
 * Transforms a stream of lines and sends them to the error sink
 *
 * @param lines      the Stream of lines to transform
 * @param outputSink {@link Linesink} to write transformed lines to
 * @param errorSink  {@link Linesink} to write unparseable lines to
 * @return Multiset counting the {@link LineType}s found in the stream
 */
Multiset<LineType> transformlines(Stream<String> lines,Linesink outputSink,Linesink errorSink)
{
    Multiset<LineType> lineTypes = EnumMultiset.create(LineType.class);
    writeVcfheader(outputSink);
    lines.map(line -> transformline(line,lineTypes.size(),countValidLines(lineTypes),outputSink,errorSink))
         .forEach(lineTypes::add);
    return lineTypes;
}
项目:gwt-jackson    文件EnumMultisetJsonDeserializer.java   
@Override
protected EnumMultiset<E> newCollection() {
    return EnumMultiset.create( enumClass );
}
项目:gwt-jackson    文件GuavaConfiguration.java   
@Override
protected void configure() {
    type( Optional.class ).serializer( OptionalJsonSerializer.class ).deserializer( OptionalJsonDeserializer.class );
    type( FluentIterable.class ).serializer( IterableJsonSerializer.class );

    // Immutable Collections
    type( ImmutableCollection.class ).serializer( CollectionjsonSerializer.class )
            .deserializer( ImmutableCollectionjsonDeserializer.class );
    type( ImmutableList.class ).serializer( CollectionjsonSerializer.class ).deserializer( ImmutableListJsonDeserializer.class );
    type( ImmutableSet.class ).serializer( CollectionjsonSerializer.class ).deserializer( ImmutableSetJsonDeserializer.class );
    type( ImmutableSortedSet.class ).serializer( CollectionjsonSerializer.class )
            .deserializer( ImmutableSortedSetJsonDeserializer.class );

    // Immutable Map
    type( ImmutableMap.class ).serializer( MapJsonSerializer.class ).deserializer( ImmutableMapJsonDeserializer.class );
    type( ImmutableSortedMap.class ).serializer( MapJsonSerializer.class ).deserializer( ImmutableSortedMapJsonDeserializer.class );

    // BiMap
    type( BiMap.class ).serializer( MapJsonSerializer.class ).deserializer( BiMapJsonDeserializer.class );
    type( ImmutableBiMap.class ).serializer( MapJsonSerializer.class ).deserializer( ImmutableBiMapJsonDeserializer.class );
    type( HashBiMap.class ).serializer( MapJsonSerializer.class ).deserializer( HashBiMapJsonDeserializer.class );
    type( EnumBiMap.class ).serializer( MapJsonSerializer.class ).deserializer( EnumBiMapJsonDeserializer.class );
    type( EnumHashBiMap.class ).serializer( MapJsonSerializer.class ).deserializer( EnumHashBiMapJsonDeserializer.class );

    // Multiset
    type( Multiset.class ).serializer( CollectionjsonSerializer.class ).deserializer( MultisetJsonDeserializer.class );
    type( HashMultiset.class ).serializer( CollectionjsonSerializer.class ).deserializer( HashMultisetJsonDeserializer.class );
    type( LinkedHashMultiset.class ).serializer( CollectionjsonSerializer.class )
            .deserializer( LinkedHashMultisetJsonDeserializer.class );
    type( SortedMultiset.class ).serializer( CollectionjsonSerializer.class ).deserializer( SortedMultisetJsonDeserializer.class );
    type( TreeMultiset.class ).serializer( CollectionjsonSerializer.class ).deserializer( TreeMultisetJsonDeserializer.class );
    type( ImmutableMultiset.class ).serializer( CollectionjsonSerializer.class )
            .deserializer( ImmutableMultisetJsonDeserializer.class );
    type( EnumMultiset.class ).serializer( CollectionjsonSerializer.class ).deserializer( EnumMultisetJsonDeserializer.class );

    // Multimap
    type( Multimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( MultimapJsonDeserializer.class );

    type( ImmutableMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( ImmutableMultimapJsonDeserializer.class );
    type( ImmutableSetMultimap.class ).serializer( MultimapJsonSerializer.class )
            .deserializer( ImmutableSetMultimapJsonDeserializer.class );
    type( ImmutableListMultimap.class ).serializer( MultimapJsonSerializer.class )
            .deserializer( ImmutableListMultimapJsonDeserializer.class );

    type( SetMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( SetMultimapJsonDeserializer.class );
    type( HashMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( HashMultimapJsonDeserializer.class );
    type( LinkedHashMultimap.class ).serializer( MultimapJsonSerializer.class )
            .deserializer( LinkedHashMultimapJsonDeserializer.class );
    type( SortedSetMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( SortedSetMultimapJsonDeserializer.class );
    type( TreeMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( TreeMultimapJsonDeserializer.class );

    type( ListMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( ListMultimapJsonDeserializer.class );
    type( ArrayListMultimap.class ).serializer( MultimapJsonSerializer.class ).deserializer( ArrayListMultimapJsonDeserializer.class );
    type( LinkedListMultimap.class ).serializer( MultimapJsonSerializer.class )
            .deserializer( LinkedListMultimapJsonDeserializer.class );
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。