User.java

1
package edu.ucsb.cs156.happiercows.entities;
2
3
import com.fasterxml.jackson.annotation.JsonIgnore;
4
import lombok.*;
5
6
import javax.persistence.*;
7
import java.time.Instant;
8
import java.util.List;
9
10
@Data
11
@AllArgsConstructor
12
@NoArgsConstructor(access = AccessLevel.PROTECTED)
13
@Builder
14
@Entity(name = "users")
15
public class User {
16
  @Id
17
  @GeneratedValue(strategy = GenerationType.IDENTITY)
18
  private long id;
19
  private String email;
20
  private String googleSub;
21
  private String pictureUrl;
22
  private String fullName;
23
  private String givenName;
24
  private String familyName;
25
  private boolean emailVerified;
26
  private String locale;
27
  private String hostedDomain;
28
  private boolean admin;
29
  private boolean suspended;
30
31
  @Builder.Default
32
  private Instant lastOnline = Instant.now();
33
34
  @ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.REMOVE })
35
  @JoinTable(name = "user_commons", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "commons_id", referencedColumnName = "id"))
36
  private List<Commons> commons;
37
38
  @OneToMany(mappedBy = "user", cascade = CascadeType.REMOVE)
39
  @JsonIgnore
40
  private List<UserCommons> joinedCommons;
41
42
  @Override
43
  public String toString() {
44 1 1. toString : replaced return value with "" for edu/ucsb/cs156/happiercows/entities/User::toString → KILLED
    return String.format("User: id=%d email=%s", id, email);
45
  }
46
}

Mutations

44

1.1
Location : toString
Killed by : edu.ucsb.cs156.happiercows.entities.UserTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.entities.UserTests]/[method:test_toString()]
replaced return value with "" for edu/ucsb/cs156/happiercows/entities/User::toString → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.3