static List<String> asStrings(Fields fields) { if (fields == null || !fields.isDefined()) { // use auto-generated name return Collections.emptyList(); } int size = fields.size(); List<String> names = new ArrayList<String>(size); for (int fieldIndex = 0; fieldIndex < size; fieldIndex++) { names.add(fields.get(fieldIndex).toString()); } return names; }
@Override public Fields getDeclaredFields() { Fields sumName = new Fields( AverageBy.class.getPackage().getName() + "." + declaredFields.get( 0 ) + ".sum", Double.class ); Fields countName = new Fields( AverageBy.class.getPackage().getName() + "." + declaredFields.get( 0 ) + ".count", Long.class ); return sumName.append( countName ); }
protected int getFieldsSize() { Set<Comparable> pos = new HashSet<Comparable>(); for( Fields field : argumentSelectors ) { if( field.isSubstitution() ) // will be tested to be ALL in verify return ANY; for( int i = 0; i < field.size(); i++ ) pos.add( field.get( i ) ); } return pos.size(); }
@Override public void doAssert( FlowProcess flowProcess, ValueAssertionCall assertionCall ) { TupleEntry input = assertionCall.getArguments(); int pos = 0; for( Object element : input.getTuple() ) { if( !value.equals( element ) ) fail( input.getFields().get( pos ), element, value, input.getTuple().print() ); pos++; } }
@Test public void testSelectMixed3() { Fields declarationA = new Fields( "a", "b", 2, 3 ); Fields selectA = new Fields( 1, 0, 2, 3 ); Fields got = declarationA.select( selectA ); assertEquals( "not equal: ", 4, got.size() ); assertEquals( "not equal: ", "b", got.get( 0 ) ); assertEquals( "not equal: ", "a", got.get( 1 ) ); assertEquals( "not equal: ", 2, got.get( 2 ) ); assertEquals( "not equal: ", 3, got.get( 3 ) ); }
@Test public void testSelectMixed4() { Fields declarationA = new Fields( "a", "b", 2, 3 ); Fields selectA = new Fields( 2, 3, "a", "b" ); Fields got = declarationA.select( selectA ); assertEquals( "not equal: ", 4, got.size() ); assertEquals( "not equal: ", 2, got.get( 0 ) ); assertEquals( "not equal: ", 3, got.get( 1 ) ); assertEquals( "not equal: ", "a", got.get( 2 ) ); assertEquals( "not equal: ", "b", got.get( 3 ) ); }
@Test public void testJoin() { Fields fieldA = new Fields( "a", "b" ); Fields fieldB = new Fields( "c", "d" ); Fields join = Fields.join( fieldA, fieldB ); assertEquals( "not equal: ", 4, join.size() ); assertEquals( "not equal: ", "a", join.get( 0 ) ); assertEquals( "not equal: ", "b", join.get( 1 ) ); assertEquals( "not equal: ", "c", join.get( 2 ) ); assertEquals( "not equal: ", "d", join.get( 3 ) ); }
@Test public void testSelectMixedNeg5() { Fields declarationA = new Fields( "a", "b", 2, 3 ); Fields selectA = new Fields( -4, -3, -2, -1 ); Fields got = declarationA.select( selectA ); assertEquals( "not equal: ", 4, got.size() ); assertEquals( "not equal: ", "a", got.get( 0 ) ); assertEquals( "not equal: ", "b", got.get( 1 ) ); assertEquals( "not equal: ", 2, got.get( 2 ) ); assertEquals( "not equal: ", 3, got.get( 3 ) ); }
@Test public void testAppend4() { Fields fieldA = new Fields( 0, 1 ); Fields fieldB = new Fields( -1 ); Fields appended = fieldA.appendSelector( fieldB ); assertEquals( "not equal: ", 3, appended.size() ); assertEquals( "not equal: ", 0, appended.get( 0 ) ); assertEquals( "not equal: ", 1, appended.get( 1 ) ); assertEquals( "not equal: ", -1, appended.get( 2 ) ); }
@Test public void testAppendNamed2() { Fields fieldA = new Fields( "a" ); Fields fieldB = new Fields( 0, 1 ); Fields appended = fieldA.append( fieldB ); assertEquals( "not equal: ", 3, appended.size() ); assertEquals( "not equal: ", "a", appended.get( 0 ) ); assertEquals( "not equal: ", 1, appended.get( 1 ) ); assertEquals( "not equal: ", 2, appended.get( 2 ) ); }
@Test public void testAppendSelectNamed() { Fields fieldA = new Fields( 0, 1 ); Fields fieldB = new Fields( "a" ); Fields appended = fieldA.appendSelector( fieldB ); assertEquals( "not equal: ", 3, appended.size() ); assertEquals( "not equal: ", 0, appended.get( 0 ) ); assertEquals( "not equal: ", 1, appended.get( 1 ) ); assertEquals( "not equal: ", "a", appended.get( 2 ) ); }
@Test public void testSelectMixedNeg2() { Fields declarationA = new Fields( "a", "b" ); Fields selectA = new Fields( -1, -2 ); Fields got = declarationA.select( selectA ); assertEquals( "not equal: ", 2, got.size() ); assertEquals( "not equal: ", "b", got.get( 0 ) ); assertEquals( "not equal: ", "a", got.get( 1 ) ); }
@Test public void testResolveAppended5() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( "a", "d" ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 2, got.size() ); assertEquals( "not equal: ", "a", got.get( 0 ) ); assertEquals( "not equal: ", "d", got.get( 1 ) ); }
@Test public void testDiffIndex() { Fields fieldA = new Fields( "a", "b" ); Fields fieldB = new Fields( 0 ); Fields diff = fieldA.subtract( fieldB ); assertEquals( "not equal: ", 1, diff.size() ); assertEquals( "not equal: ", "b", diff.get( 0 ) ); }
@Test public void testDiffIndex2() { Fields fieldA = new Fields( "a", "b" ); Fields fieldB = new Fields( 1 ); Fields diff = fieldA.subtract( fieldB ); assertEquals( "not equal: ", 1, diff.size() ); assertEquals( "not equal: ", "a", diff.get( 0 ) ); }
@Test public void testResolveIndexAppended3() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( 2 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "c", got.get( 0 ) ); }
@Test public void testResolveAppended3() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( "c" ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "c", got.get( 0 ) ); }
@Test public void testResolveAppended4() { Fields declarationA = new Fields( "a", "b" ); Fields declarationB = new Fields( "c", "d" ); Fields selectA = new Fields( "d" ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", "d", got.get( 0 ) ); }
@Test public void testResolveIndexOnly2() { Fields declarationA = new Fields( 0, 1 ); Fields declarationB = new Fields( 0, 1 ); Fields selectA = new Fields( 1 ); Fields got = Fields.resolve( selectA, declarationA, declarationB ); assertEquals( "not equal: ", 1, got.size() ); assertEquals( "not equal: ", 1, got.get( 0 ) ); }