001/**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.activemq.openwire.tool;
018
019/**
020 * A simple helper class to help auto-generate test data when code generating test cases
021 * 
022 * 
023 */
024public class TestDataGenerator {
025    private int stringCounter;
026
027    private boolean boolCounter;
028    private byte byteCounter;
029    private char charCounter = 'a';
030    private short shortCounter;
031    private int intCounter;
032    private long longCounter;
033    
034    public String createByte() {
035        return "(byte) " + (++byteCounter);
036    }
037    
038    public String createChar() {
039        return "'" + (charCounter++) + "'";
040    }
041    
042    public String createShort() {
043        return "(short) " + (++shortCounter);
044    }
045
046    public int createInt() {
047        return ++intCounter;
048    }
049
050    public long createLong() {
051        return ++longCounter;
052    }
053
054    public String createString(String property) {
055        return property + ":" + (++stringCounter);
056    }
057
058    public boolean createBool() {
059        boolCounter = !boolCounter;
060        return boolCounter;
061    }
062    
063    public String createByteArray(String property) {
064        return "\"" + createString(property) + "\".getBytes()";
065    }
066}