2009-05-14 11 views
14

Harita arayüzünün özel bir uygulaması var, bu da işlevlerin tembel değerlendirilmesi gibi bazı süslü şeyler yapıyor. uygulama, dışardan inşa edildikten sonra değişmez görünmelidir (örneğin, put() ve putAll() yöntemleri desteklenir)java.util.Map için Genel Test kablo demeti?

En basit koşullarda çalıştığı anlaşılıyor. Oldukça karmaşık olduğu için, eminim ki, gizlenen hatalar wrt iplik güvenliği, düzensiz operasyon sırası ve çok daha fazlası olmalı ..

Harita arayüzünün sözleşmesi iyi tanımlanmış olduğundan emin olmalıyım. köşe kasalarını, iplik güvenliğini vb. kontrol eden genel bir test koleksiyonu.

Google Koleksiyonlarının kütüphaneleri için yaklaşık 25000 birim test çalıştırdığını duydum. Onları bir yerden indirmek mümkün mü?

cevap

0

Sen Google Collections Kendi Harita desteklemek zorunda kalmamak ihtiyaçlarınızı karşılayan bir şey varsa görmek isteyebilirsiniz. harita gerekiyorsa Map.entrySet()

tarafından görülen değiştirecek bir önceden görülmemiş anahtarla bir map.get(key) yapıyor beri, inşaat sonrası tamamen değişmez görünmeyeceğini Örneğin, MapMaker

private Map<Key, Graph> createMap() { 
    ConcurrentMap<Key, Graph> graphs = new MapMaker() 
    .concurrencyLevel(32) 
    .softKeys() 
    .weakValues() 
    .expiration(30, TimeUnit.MINUTES) 
    .makeComputingMap(
     new Function<Key, Graph>() { 
      public Graph apply(Key key) { 
      return createExpensiveGraph(key); 
      } 
     }); 
    return Collections.unmodifiableMap(graphs); 
} 

Not bakın Özel bir Harita uygulaması yazmak ve testleriniz için iyi bir başlangıç ​​yapmak istiyorsanız, Adem'in Google Collection'ın MapInterfaceTest'u kullanması önerisi iyi.

+0

diğer şekilde yuvarlak değer verilir, hesaplama anahtarı –

İlgili konular