### Question:
ALSServingModel implements ServingModel { @Override public String toString() { return "ALSServingModel[features:" + features + ", implicit:" + implicit + ", X:(" + getNumUsers() + " users), Y:(" + getNumItems() + " items, partitions: " + Y + "...), fractionLoaded:" + getFractionLoaded() + "]"; } ALSServingModel(int features, boolean implicit, double sampleRate, RescorerProvider rescorerProvider); int getFeatures(); boolean isImplicit(); RescorerProvider getRescorerProvider(); float[] getUserVector(String user); float[] getItemVector(String item); Set<String> getKnownItems(String user); Map<String,Integer> getUserCounts(); Map<String,Integer> getItemCounts(); List<Pair<String,float[]>> getKnownItemVectorsForUser(String user); Stream<Pair<String,Double>> topN(
      CosineDistanceSensitiveFunction scoreFn,
      ToDoubleObjDoubleBiFunction<String> rescoreFn,
      int howMany,
      Predicate<String> allowedPredicate); Collection<String> getAllUserIDs(); Collection<String> getAllItemIDs(); Solver getYTYSolver(); int getNumUsers(); int getNumItems(); @Override float getFractionLoaded(); @Override String toString();  }### Answer:
@Test public void testToString() { String modelToString = new ALSServingModel(2, true, 1.0, null).toString(); assertContains(modelToString, "ALSServingModel"); assertContains(modelToString, "features:2"); assertContains(modelToString, "implicit:true"); }