blob: b800d1766d81a1ff272c8af9f9ac6c3955018e59 [file] [log] [blame]
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.extensions.common.testing;
import static com.google.common.truth.Truth.assertAbout;
import static com.google.gerrit.extensions.common.testing.FileMetaSubject.fileMetas;
import static com.google.gerrit.truth.ListSubject.elements;
import com.google.common.truth.BooleanSubject;
import com.google.common.truth.ComparableSubject;
import com.google.common.truth.FailureMetadata;
import com.google.common.truth.IterableSubject;
import com.google.common.truth.Subject;
import com.google.gerrit.extensions.common.ChangeType;
import com.google.gerrit.extensions.common.DiffInfo;
import com.google.gerrit.extensions.common.DiffInfo.ContentEntry;
import com.google.gerrit.extensions.common.DiffInfo.IntraLineStatus;
import com.google.gerrit.truth.ListSubject;
public class DiffInfoSubject extends Subject {
public static DiffInfoSubject assertThat(DiffInfo diffInfo) {
return assertAbout(DiffInfoSubject::new).that(diffInfo);
}
private final DiffInfo diffInfo;
private DiffInfoSubject(FailureMetadata failureMetadata, DiffInfo diffInfo) {
super(failureMetadata, diffInfo);
this.diffInfo = diffInfo;
}
public ListSubject<ContentEntrySubject, ContentEntry> content() {
isNotNull();
return check("content")
.about(elements())
.thatCustom(diffInfo.content, ContentEntrySubject.contentEntries());
}
public ComparableSubject<ChangeType> changeType() {
isNotNull();
return check("changeType").that(diffInfo.changeType);
}
public FileMetaSubject metaA() {
isNotNull();
return check("metaA").about(fileMetas()).that(diffInfo.metaA);
}
public FileMetaSubject metaB() {
isNotNull();
return check("metaB").about(fileMetas()).that(diffInfo.metaB);
}
public ComparableSubject<IntraLineStatus> intralineStatus() {
isNotNull();
return check("intralineStatus").that(diffInfo.intralineStatus);
}
public IterableSubject webLinks() {
isNotNull();
return check("webLinks").that(diffInfo.webLinks);
}
public IterableSubject editWebLinks() {
isNotNull();
return check("editWebLinks").that(diffInfo.editWebLinks);
}
public BooleanSubject binary() {
isNotNull();
return check("binary").that(diffInfo.binary);
}
public IterableSubject diffHeader() {
isNotNull();
return check("diffHeader").that(diffInfo.diffHeader);
}
}