### Question:
GeometricVertex extends VertexImpl<IntegerTensor, IntegerVertex> implements IntegerVertex, ProbabilisticInteger, SamplableWithManyScalars<IntegerTensor>, LogProbGraphSupplier { @Override public double logProb(IntegerTensor value) { return Geometric.withParameters(p.getValue()).logProb(value).sumNumber(); } GeometricVertex(@LoadShape long[] tensorShape,
                           @LoadVertexParam(P_NAME) Vertex<DoubleTensor, ?> p);  GeometricVertex(long[] tensorShape, double p); @ExportVertexToPythonBindings  GeometricVertex(Vertex<DoubleTensor, ?> p);  GeometricVertex(double p); @Override IntegerTensor sampleWithShape(long[] shape, KeanuRandom random); @Override double logProb(IntegerTensor value); @Override LogProbGraph logProbGraph(); @Override Map<Vertex, DoubleTensor> dLogProb(IntegerTensor value, Set<? extends Vertex> withRespectTo); @SaveVertexParam(P_NAME) DoubleVertex getP();  }### Answer:
@Test public void logProbIsCorrectScalar() { double p = 0.25; GeometricVertex myVertex = new GeometricVertex(p); for (int i = 1; i < 20; i++) { assertEquals(getExpectedPmf(p, i), myVertex.logProb(IntegerTensor.create(i)), 1e-6); } }