// Path: opentipbot-persistence/src/main/java/opentipbot/persistence/model/OpenTipBotUser.java
// @Entity
// @Table(name = "opentipbot_user")
// /**
//  * @author Gilles Cadignan
//  */
// public class OpenTipBotUser extends BaseEntity<Long>{
// 
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     private String email;
//     private String displayName;
//     private String userName;
//     private String twitterIdentifier;
//     private String coinAddress;
//     private String profileImageUrl;
//     private String profileUrl;
// 
//     @Basic(fetch = FetchType.LAZY)
//     private byte[] coinAddressQRCode;
// 
//     @Transient
//     private double balance;
// 
//     @Transient
//     private double pendingBalance;
// 
//     public String getUserName() {
//         return userName;
//     }
// 
//     public void setUserName(String userName) {
//         this.userName = userName;
//     }
// 
//     public String getCoinAddress() {
//         return coinAddress;
//     }
// 
//     public void setCoinAddress(String coinAddress) {
//         this.coinAddress = coinAddress;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getEmail() {
//         return email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getDisplayName() {
//         return displayName;
//     }
// 
//     public void setDisplayName(String displayName) {
//         this.displayName = displayName;
//     }
// 
//     public String getTwitterIdentifier() {
//         return twitterIdentifier;
//     }
// 
//     public void setTwitterIdentifier(String twitterIdentifier) {
//         this.twitterIdentifier = twitterIdentifier;
//     }
// 
//     public double getBalance() {
//         return balance;
//     }
// 
//     public void setBalance(double balance) {
//         this.balance = balance;
//     }
// 
//     public String getProfileImageUrl() {
//         return profileImageUrl;
//     }
// 
//     public void setProfileImageUrl(String profileImageUrl) {
//         this.profileImageUrl = profileImageUrl;
//     }
// 
//     public byte[] getCoinAddressQRCode() {
//         return coinAddressQRCode;
//     }
// 
//     public void setCoinAddressQRCode(byte[] coinAddressQRCode) {
//         this.coinAddressQRCode = coinAddressQRCode;
//     }
// 
//     public String getProfileUrl() {
//         return profileUrl;
//     }
// 
//     public void setProfileUrl(String profileUrl) {
//         this.profileUrl = profileUrl;
//     }
// 
//     public double getPendingBalance() {
//         return pendingBalance;
//     }
// 
//     public void setPendingBalance(double pendingBalance) {
//         this.pendingBalance = pendingBalance;
//     }
// }
// 
// Path: opentipbot-service/src/test/java/opentipbot/service/config/ServiceTestConfig.java
// @Configuration
// @ComponentScan(basePackages = {
//         "opentipbot.service"
// })
// @Import({PersistenceContext.class,  ServiceSocialConfig.class})
// @PropertySource("classpath:application.properties")
// public class ServiceTestConfig {
// }
// 
// Path: opentipbot-service/src/main/java/opentipbot/service/exception/OpenTipBotServiceException.java
// public class OpenTipBotServiceException extends Exception {
// 
//     //the opentipbotCommand object which has generated this exception
//     private OpenTipBotCommand command;
// 
//     /**
//      * Build BitcoinServiceException with a message only
//      * @param message
//      */
//     public OpenTipBotServiceException(String message) {
//         super(message);
//     }
// 
//     /**
//      * Build BitcoinServiceException with message and cause
//      * @param message
//      * @param cause
//      */
//     public OpenTipBotServiceException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     /**
//      * Build BitcoinServiceException with message and specific BitcoinServiceException fields
//      * @param message
//      * @param command
//      */
//     public OpenTipBotServiceException(String message, OpenTipBotCommand command) {
//         super(message);
//         this.command = command;
//     }
// 
//     /**
//      * Build BitcoinServiceException with message, cause and specific BitcoinServiceException fields
//      * @param message
//      * @param cause
//      * @param command
//      */
//     public OpenTipBotServiceException(String message, Throwable cause, OpenTipBotCommand command) {
//         super(message, cause);
//         this.command = command;
//     }
// 
//     // Getters and setters
//     //********************
// 
// 
//     public OpenTipBotCommand getCommand() {
//         return command;
//     }
// 
//     public void setCommand(OpenTipBotCommand command) {
//         this.command = command;
//     }
// }


import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
import opentipbot.persistence.model.OpenTipBotUser;
import opentipbot.service.config.ServiceTestConfig;
import opentipbot.service.exception.OpenTipBotServiceException;
package opentipbot.service;


/**
 * @author Gilles Cadignan
 */
@ContextConfiguration(classes = ServiceTestConfig.class)
@Transactional
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@RunWith(SpringJUnit4ClassRunner.class)
public class OpenTipBotUserServiceTest extends AbstractTransactionalJUnit4SpringContextTests
{

    @Autowired
    protected OpenTipBotUserService opentipbotUserService;


    @Test
    public void createNewOpenTipBotUser()
    {
// Path: opentipbot-persistence/src/main/java/opentipbot/persistence/model/OpenTipBotUser.java
// @Entity
// @Table(name = "opentipbot_user")
// /**
//  * @author Gilles Cadignan
//  */
// public class OpenTipBotUser extends BaseEntity<Long>{
// 
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     private String email;
//     private String displayName;
//     private String userName;
//     private String twitterIdentifier;
//     private String coinAddress;
//     private String profileImageUrl;
//     private String profileUrl;
// 
//     @Basic(fetch = FetchType.LAZY)
//     private byte[] coinAddressQRCode;
// 
//     @Transient
//     private double balance;
// 
//     @Transient
//     private double pendingBalance;
// 
//     public String getUserName() {
//         return userName;
//     }
// 
//     public void setUserName(String userName) {
//         this.userName = userName;
//     }
// 
//     public String getCoinAddress() {
//         return coinAddress;
//     }
// 
//     public void setCoinAddress(String coinAddress) {
//         this.coinAddress = coinAddress;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getEmail() {
//         return email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getDisplayName() {
//         return displayName;
//     }
// 
//     public void setDisplayName(String displayName) {
//         this.displayName = displayName;
//     }
// 
//     public String getTwitterIdentifier() {
//         return twitterIdentifier;
//     }
// 
//     public void setTwitterIdentifier(String twitterIdentifier) {
//         this.twitterIdentifier = twitterIdentifier;
//     }
// 
//     public double getBalance() {
//         return balance;
//     }
// 
//     public void setBalance(double balance) {
//         this.balance = balance;
//     }
// 
//     public String getProfileImageUrl() {
//         return profileImageUrl;
//     }
// 
//     public void setProfileImageUrl(String profileImageUrl) {
//         this.profileImageUrl = profileImageUrl;
//     }
// 
//     public byte[] getCoinAddressQRCode() {
//         return coinAddressQRCode;
//     }
// 
//     public void setCoinAddressQRCode(byte[] coinAddressQRCode) {
//         this.coinAddressQRCode = coinAddressQRCode;
//     }
// 
//     public String getProfileUrl() {
//         return profileUrl;
//     }
// 
//     public void setProfileUrl(String profileUrl) {
//         this.profileUrl = profileUrl;
//     }
// 
//     public double getPendingBalance() {
//         return pendingBalance;
//     }
// 
//     public void setPendingBalance(double pendingBalance) {
//         this.pendingBalance = pendingBalance;
//     }
// }
// 
// Path: opentipbot-service/src/test/java/opentipbot/service/config/ServiceTestConfig.java
// @Configuration
// @ComponentScan(basePackages = {
//         "opentipbot.service"
// })
// @Import({PersistenceContext.class,  ServiceSocialConfig.class})
// @PropertySource("classpath:application.properties")
// public class ServiceTestConfig {
// }
// 
// Path: opentipbot-service/src/main/java/opentipbot/service/exception/OpenTipBotServiceException.java
// public class OpenTipBotServiceException extends Exception {
// 
//     //the opentipbotCommand object which has generated this exception
//     private OpenTipBotCommand command;
// 
//     /**
//      * Build BitcoinServiceException with a message only
//      * @param message
//      */
//     public OpenTipBotServiceException(String message) {
//         super(message);
//     }
// 
//     /**
//      * Build BitcoinServiceException with message and cause
//      * @param message
//      * @param cause
//      */
//     public OpenTipBotServiceException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     /**
//      * Build BitcoinServiceException with message and specific BitcoinServiceException fields
//      * @param message
//      * @param command
//      */
//     public OpenTipBotServiceException(String message, OpenTipBotCommand command) {
//         super(message);
//         this.command = command;
//     }
// 
//     /**
//      * Build BitcoinServiceException with message, cause and specific BitcoinServiceException fields
//      * @param message
//      * @param cause
//      * @param command
//      */
//     public OpenTipBotServiceException(String message, Throwable cause, OpenTipBotCommand command) {
//         super(message, cause);
//         this.command = command;
//     }
// 
//     // Getters and setters
//     //********************
// 
// 
//     public OpenTipBotCommand getCommand() {
//         return command;
//     }
// 
//     public void setCommand(OpenTipBotCommand command) {
//         this.command = command;
//     }
// }


// Path: opentipbot-service/src/test/java/opentipbot/service/OpenTipBotUserServiceTest.java
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
import opentipbot.persistence.model.OpenTipBotUser;
import opentipbot.service.config.ServiceTestConfig;
import opentipbot.service.exception.OpenTipBotServiceException;

package opentipbot.service;


/**
 * @author Gilles Cadignan
 */
@ContextConfiguration(classes = ServiceTestConfig.class)
@Transactional
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@RunWith(SpringJUnit4ClassRunner.class)
public class OpenTipBotUserServiceTest extends AbstractTransactionalJUnit4SpringContextTests
{

    @Autowired
    protected OpenTipBotUserService opentipbotUserService;


    @Test
    public void createNewOpenTipBotUser()
    {
        OpenTipBotUser opentipbotUser = new OpenTipBotUser();