mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
Rename Entries to EntryList
This commit is contained in:
@@ -46,7 +46,7 @@ public class BarChartTest extends BaseViewTest
|
||||
Habit habit = fixtures.createLongNumericalHabit();
|
||||
view = new BarChart(targetContext);
|
||||
Timestamp today = DateUtils.getToday();
|
||||
Entries entries = habit.getComputedEntries();
|
||||
EntryList entries = habit.getComputedEntries();
|
||||
view.setEntries(entries.getByInterval(today.minus(20), today));
|
||||
view.setColor(PaletteUtilsKt.toThemedAndroidColor(habit.getColor(), targetContext));
|
||||
view.setTarget(200.0);
|
||||
|
||||
@@ -42,7 +42,7 @@ public class CheckmarkWidgetTest extends BaseViewTest
|
||||
|
||||
private Habit habit;
|
||||
|
||||
private Entries entries;
|
||||
private EntryList entries;
|
||||
|
||||
private FrameLayout view;
|
||||
|
||||
|
||||
@@ -52,8 +52,8 @@ public class CreateRepetitionCommand implements Command
|
||||
@Override
|
||||
public void execute()
|
||||
{
|
||||
Entries checks = habit.getOriginalEntries();
|
||||
checks.add(new Entry(timestamp, value));
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
entries.add(new Entry(timestamp, value));
|
||||
habit.recompute();
|
||||
habitList.resort();
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ public class HabitsCSVExporter
|
||||
out.close();
|
||||
}
|
||||
|
||||
private void writeEntries(String habitDirName, Entries entries)
|
||||
private void writeEntries(String habitDirName, EntryList entries)
|
||||
throws IOException
|
||||
{
|
||||
String filename = habitDirName + "Checkmarks.csv";
|
||||
|
||||
@@ -28,7 +28,7 @@ import kotlin.collections.HashMap
|
||||
import kotlin.collections.set
|
||||
import kotlin.math.*
|
||||
|
||||
open class Entries {
|
||||
open class EntryList {
|
||||
|
||||
private val entriesByTimestamp: HashMap<Timestamp, Entry> = HashMap()
|
||||
|
||||
@@ -114,7 +114,7 @@ open class Entries {
|
||||
* to the frequency of the habit. For numerical habits, this function simply copies all entries.
|
||||
*/
|
||||
open fun recomputeFrom(
|
||||
originalEntries: Entries,
|
||||
originalEntries: EntryList,
|
||||
frequency: Frequency,
|
||||
isNumerical: Boolean,
|
||||
) {
|
||||
@@ -35,8 +35,8 @@ data class Habit(
|
||||
var type: Int = YES_NO_HABIT,
|
||||
var unit: String = "",
|
||||
var uuid: String? = null,
|
||||
val computedEntries: Entries,
|
||||
val originalEntries: Entries,
|
||||
val computedEntries: EntryList,
|
||||
val originalEntries: EntryList,
|
||||
val scores: ScoreList,
|
||||
val streaks: StreakList,
|
||||
) {
|
||||
|
||||
@@ -34,14 +34,14 @@ interface ModelFactory {
|
||||
scores = scores,
|
||||
streaks = streaks,
|
||||
originalEntries = buildOriginalEntries(),
|
||||
computedEntries = buildNewComputedEntries(),
|
||||
computedEntries = buildComputedEntries(),
|
||||
)
|
||||
scores.setHabit(habit)
|
||||
streaks.setHabit(habit)
|
||||
return habit
|
||||
}
|
||||
fun buildNewComputedEntries(): Entries
|
||||
fun buildOriginalEntries(): Entries
|
||||
fun buildComputedEntries(): EntryList
|
||||
fun buildOriginalEntries(): EntryList
|
||||
fun buildHabitList(): HabitList
|
||||
fun buildScoreList(): ScoreList
|
||||
fun buildStreakList(): StreakList
|
||||
|
||||
@@ -21,8 +21,8 @@ package org.isoron.uhabits.core.models.memory
|
||||
import org.isoron.uhabits.core.models.*
|
||||
|
||||
class MemoryModelFactory : ModelFactory {
|
||||
override fun buildNewComputedEntries() = Entries()
|
||||
override fun buildOriginalEntries() = Entries()
|
||||
override fun buildComputedEntries() = EntryList()
|
||||
override fun buildOriginalEntries() = EntryList()
|
||||
override fun buildHabitList() = MemoryHabitList()
|
||||
override fun buildScoreList() = MemoryScoreList()
|
||||
override fun buildStreakList() = MemoryStreakList()
|
||||
|
||||
@@ -33,8 +33,8 @@ class SQLModelFactory
|
||||
@Inject constructor(
|
||||
val database: Database,
|
||||
) : ModelFactory {
|
||||
override fun buildOriginalEntries() = SQLiteEntries(database)
|
||||
override fun buildNewComputedEntries() = Entries()
|
||||
override fun buildOriginalEntries() = SQLiteEntryList(database)
|
||||
override fun buildComputedEntries() = EntryList()
|
||||
override fun buildHabitList() = SQLiteHabitList(this)
|
||||
override fun buildScoreList() = MemoryScoreList()
|
||||
override fun buildStreakList() = MemoryStreakList()
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.isoron.uhabits.core.models.*
|
||||
import org.isoron.uhabits.core.models.sqlite.records.*
|
||||
import org.isoron.uhabits.core.utils.*
|
||||
|
||||
class SQLiteEntries(database: Database) : Entries() {
|
||||
class SQLiteEntryList(database: Database) : EntryList() {
|
||||
val repository = Repository(EntryRecord::class.java, database)
|
||||
var habitId: Long? = null
|
||||
var isLoaded = false
|
||||
@@ -76,7 +76,7 @@ class SQLiteEntries(database: Database) : Entries() {
|
||||
return super.groupBy(field, firstWeekday, isNumerical)
|
||||
}
|
||||
|
||||
override fun recomputeFrom(originalEntries: Entries, frequency: Frequency, isNumerical: Boolean) {
|
||||
override fun recomputeFrom(originalEntries: EntryList, frequency: Frequency, isNumerical: Boolean) {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public class SQLiteHabitList extends HabitList
|
||||
|
||||
Habit h = modelFactory.buildHabit();
|
||||
rec.copyTo(h);
|
||||
((SQLiteEntries) h.getOriginalEntries()).setHabitId(h.getId());
|
||||
((SQLiteEntryList) h.getOriginalEntries()).setHabitId(h.getId());
|
||||
list.add(h);
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ public class SQLiteHabitList extends HabitList
|
||||
record.copyFrom(habit);
|
||||
repository.save(record);
|
||||
habit.setId(record.id);
|
||||
((SQLiteEntries) habit.getOriginalEntries()).setHabitId(record.id);
|
||||
((SQLiteEntryList) habit.getOriginalEntries()).setHabitId(record.id);
|
||||
|
||||
list.add(habit);
|
||||
getObservable().notifyListeners();
|
||||
|
||||
@@ -157,7 +157,7 @@ public class HabitFixtures
|
||||
|
||||
private void saveIfSQLite(Habit habit)
|
||||
{
|
||||
if (!(habit.getOriginalEntries() instanceof SQLiteEntries)) return;
|
||||
if (!(habit.getOriginalEntries() instanceof SQLiteEntryList)) return;
|
||||
habitList.add(habit);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public class ListHabitsBehavior
|
||||
|
||||
public void onEdit(@NonNull Habit habit, Timestamp timestamp)
|
||||
{
|
||||
Entries entries = habit.getComputedEntries();
|
||||
EntryList entries = habit.getComputedEntries();
|
||||
double oldValue = entries.get(timestamp).getValue();
|
||||
|
||||
screen.showNumberPicker(oldValue / 1000, habit.getUnit(), newValue ->
|
||||
|
||||
@@ -51,12 +51,12 @@ public class CreateRepetitionCommandTest extends BaseUnitTest
|
||||
@Test
|
||||
public void testExecute()
|
||||
{
|
||||
Entries originalEntries = habit.getOriginalEntries();
|
||||
Entry entry = originalEntries.get(today);
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
Entry entry = entries.get(today);
|
||||
assertEquals(YES_MANUAL, entry.getValue());
|
||||
|
||||
command.execute();
|
||||
entry = originalEntries.get(today);
|
||||
entry = entries.get(today);
|
||||
assertEquals(100, entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +30,10 @@ import org.junit.*
|
||||
import java.util.*
|
||||
import kotlin.test.*
|
||||
|
||||
class EntriesTest {
|
||||
class EntryListTest {
|
||||
@Test
|
||||
fun testEmptyList() {
|
||||
val entries = Entries()
|
||||
val entries = EntryList()
|
||||
val today = DateUtils.getToday()
|
||||
|
||||
assertEquals(Entry(today.minus(0), UNKNOWN), entries.get(today.minus(0)))
|
||||
@@ -66,7 +66,7 @@ class EntriesTest {
|
||||
|
||||
@Test
|
||||
fun testGetValues() {
|
||||
val entries = Entries()
|
||||
val entries = EntryList()
|
||||
val today = DateUtils.getToday()
|
||||
|
||||
entries.add(Entry(today.minus(3), YES_MANUAL))
|
||||
@@ -89,12 +89,12 @@ class EntriesTest {
|
||||
fun testComputeBoolean() {
|
||||
val today = DateUtils.getToday()
|
||||
|
||||
val original = Entries()
|
||||
val original = EntryList()
|
||||
original.add(Entry(today.minus(4), YES_MANUAL))
|
||||
original.add(Entry(today.minus(9), YES_MANUAL))
|
||||
original.add(Entry(today.minus(10), YES_MANUAL))
|
||||
|
||||
val computed = Entries()
|
||||
val computed = EntryList()
|
||||
computed.recomputeFrom(original, Frequency(1, 3), isNumerical = false)
|
||||
|
||||
val expected = listOf(
|
||||
@@ -111,7 +111,7 @@ class EntriesTest {
|
||||
assertEquals(expected, computed.getKnown())
|
||||
|
||||
// Second call should replace all previously added entries
|
||||
computed.recomputeFrom(Entries(), Frequency(1, 3), isNumerical = false)
|
||||
computed.recomputeFrom(EntryList(), Frequency(1, 3), isNumerical = false)
|
||||
assertEquals(listOf(), computed.getKnown())
|
||||
|
||||
}
|
||||
@@ -120,12 +120,12 @@ class EntriesTest {
|
||||
fun testComputeNumerical() {
|
||||
val today = DateUtils.getToday()
|
||||
|
||||
val original = Entries()
|
||||
val original = EntryList()
|
||||
original.add(Entry(today.minus(4), 100))
|
||||
original.add(Entry(today.minus(9), 200))
|
||||
original.add(Entry(today.minus(10), 300))
|
||||
|
||||
val computed = Entries()
|
||||
val computed = EntryList()
|
||||
computed.recomputeFrom(original, Frequency.DAILY, isNumerical = true)
|
||||
|
||||
val expected = listOf(
|
||||
@@ -156,7 +156,7 @@ class EntriesTest {
|
||||
370, 187, 208, 231, 341, 312)
|
||||
|
||||
val reference = Timestamp.from(2014, Calendar.JUNE, 1)
|
||||
val entries = Entries()
|
||||
val entries = EntryList()
|
||||
offsets.indices.forEach {
|
||||
entries.add(Entry(reference.minus(offsets[it]), values[it]))
|
||||
}
|
||||
@@ -202,7 +202,7 @@ class EntriesTest {
|
||||
455, 460, 462, 465, 470, 471, 479, 481, 485, 489, 494, 495, 500, 501, 503, 507)
|
||||
|
||||
val reference = Timestamp.from(2014, Calendar.JUNE, 1)
|
||||
val entries = Entries()
|
||||
val entries = EntryList()
|
||||
offsets.indices.forEach {
|
||||
entries.add(Entry(reference.minus(offsets[it]), YES_MANUAL))
|
||||
}
|
||||
@@ -246,9 +246,9 @@ class EntriesTest {
|
||||
Entry(day(10), YES_MANUAL),
|
||||
)
|
||||
val intervals = listOf(
|
||||
Entries.Interval(day(2), day(2), day(1)),
|
||||
Entries.Interval(day(6), day(5), day(4)),
|
||||
Entries.Interval(day(10), day(8), day(8)),
|
||||
EntryList.Interval(day(2), day(2), day(1)),
|
||||
EntryList.Interval(day(6), day(5), day(4)),
|
||||
EntryList.Interval(day(10), day(8), day(8)),
|
||||
)
|
||||
val expected = listOf(
|
||||
Entry(day(1), YES_MANUAL),
|
||||
@@ -262,39 +262,39 @@ class EntriesTest {
|
||||
Entry(day(9), YES_AUTO),
|
||||
Entry(day(10), YES_MANUAL),
|
||||
)
|
||||
val actual = Entries.buildEntriesFromInterval(entries, intervals)
|
||||
val actual = EntryList.buildEntriesFromInterval(entries, intervals)
|
||||
assertThat(actual, equalTo(expected))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testSnapIntervalsTogether1() {
|
||||
val original = arrayListOf(
|
||||
Entries.Interval(day(8), day(8), day(2)),
|
||||
Entries.Interval(day(12), day(12), day(6)),
|
||||
Entries.Interval(day(20), day(20), day(14)),
|
||||
Entries.Interval(day(27), day(27), day(21)),
|
||||
EntryList.Interval(day(8), day(8), day(2)),
|
||||
EntryList.Interval(day(12), day(12), day(6)),
|
||||
EntryList.Interval(day(20), day(20), day(14)),
|
||||
EntryList.Interval(day(27), day(27), day(21)),
|
||||
)
|
||||
val expected = arrayListOf(
|
||||
Entries.Interval(day(8), day(8), day(2)),
|
||||
Entries.Interval(day(15), day(12), day(9)),
|
||||
Entries.Interval(day(22), day(20), day(16)),
|
||||
Entries.Interval(day(29), day(27), day(23)),
|
||||
EntryList.Interval(day(8), day(8), day(2)),
|
||||
EntryList.Interval(day(15), day(12), day(9)),
|
||||
EntryList.Interval(day(22), day(20), day(16)),
|
||||
EntryList.Interval(day(29), day(27), day(23)),
|
||||
)
|
||||
Entries.snapIntervalsTogether(original)
|
||||
EntryList.snapIntervalsTogether(original)
|
||||
assertThat(original, equalTo(expected))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testSnapIntervalsTogether2() {
|
||||
val original = arrayListOf(
|
||||
Entries.Interval(day(6), day(4), day(0)),
|
||||
Entries.Interval(day(11), day(8), day(5)),
|
||||
EntryList.Interval(day(6), day(4), day(0)),
|
||||
EntryList.Interval(day(11), day(8), day(5)),
|
||||
)
|
||||
val expected = arrayListOf(
|
||||
Entries.Interval(day(6), day(4), day(0)),
|
||||
Entries.Interval(day(13), day(8), day(7)),
|
||||
EntryList.Interval(day(6), day(4), day(0)),
|
||||
EntryList.Interval(day(13), day(8), day(7)),
|
||||
)
|
||||
Entries.snapIntervalsTogether(original)
|
||||
EntryList.snapIntervalsTogether(original)
|
||||
assertThat(original, equalTo(expected))
|
||||
}
|
||||
|
||||
@@ -306,11 +306,11 @@ class EntriesTest {
|
||||
Entry(day(23), YES_MANUAL),
|
||||
)
|
||||
val expected = listOf(
|
||||
Entries.Interval(day(8), day(8), day(2)),
|
||||
Entries.Interval(day(18), day(18), day(12)),
|
||||
Entries.Interval(day(23), day(23), day(17)),
|
||||
EntryList.Interval(day(8), day(8), day(2)),
|
||||
EntryList.Interval(day(18), day(18), day(12)),
|
||||
EntryList.Interval(day(23), day(23), day(17)),
|
||||
)
|
||||
val actual = Entries.buildIntervals(Frequency.WEEKLY, entries)
|
||||
val actual = EntryList.buildIntervals(Frequency.WEEKLY, entries)
|
||||
assertThat(actual, equalTo(expected))
|
||||
}
|
||||
|
||||
@@ -322,11 +322,11 @@ class EntriesTest {
|
||||
Entry(day(23), YES_MANUAL),
|
||||
)
|
||||
val expected = listOf(
|
||||
Entries.Interval(day(8), day(8), day(8)),
|
||||
Entries.Interval(day(18), day(18), day(18)),
|
||||
Entries.Interval(day(23), day(23), day(23)),
|
||||
EntryList.Interval(day(8), day(8), day(8)),
|
||||
EntryList.Interval(day(18), day(18), day(18)),
|
||||
EntryList.Interval(day(23), day(23), day(23)),
|
||||
)
|
||||
val actual = Entries.buildIntervals(Frequency.DAILY, entries)
|
||||
val actual = EntryList.buildIntervals(Frequency.DAILY, entries)
|
||||
assertThat(actual, equalTo(expected))
|
||||
}
|
||||
|
||||
@@ -340,11 +340,11 @@ class EntriesTest {
|
||||
Entry(day(23), YES_MANUAL),
|
||||
)
|
||||
val expected = listOf(
|
||||
Entries.Interval(day(18), day(15), day(12)),
|
||||
Entries.Interval(day(22), day(18), day(16)),
|
||||
Entries.Interval(day(23), day(22), day(17)),
|
||||
EntryList.Interval(day(18), day(15), day(12)),
|
||||
EntryList.Interval(day(22), day(18), day(16)),
|
||||
EntryList.Interval(day(23), day(22), day(17)),
|
||||
)
|
||||
val actual = Entries.buildIntervals(Frequency.TWO_TIMES_PER_WEEK, entries)
|
||||
val actual = EntryList.buildIntervals(Frequency.TWO_TIMES_PER_WEEK, entries)
|
||||
assertThat(actual, equalTo(expected))
|
||||
}
|
||||
|
||||
@@ -357,16 +357,16 @@ class EntriesTest {
|
||||
Entry(day(30), YES_MANUAL),
|
||||
)
|
||||
val expected = listOf(
|
||||
Entries.Interval(day(10), day(10), day(8)),
|
||||
Entries.Interval(day(30), day(30), day(28)),
|
||||
EntryList.Interval(day(10), day(10), day(8)),
|
||||
EntryList.Interval(day(30), day(30), day(28)),
|
||||
)
|
||||
val actual = Entries.buildIntervals(Frequency(1, 3), entries)
|
||||
val actual = EntryList.buildIntervals(Frequency(1, 3), entries)
|
||||
assertThat(actual, equalTo(expected))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testWeekdayFrequency() {
|
||||
val entries = Entries()
|
||||
val entries = EntryList()
|
||||
val random = Random(123L)
|
||||
val weekdayCount = Array(12) { Array(7) { 0 } }
|
||||
val monthCount = Array(12) { 0 }
|
||||
@@ -332,14 +332,14 @@ public class ScoreListTest extends BaseUnitTest
|
||||
|
||||
private void check(final int offset)
|
||||
{
|
||||
Entries entries = habit.getOriginalEntries();
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
Timestamp today = DateUtils.getToday();
|
||||
entries.add(new Entry(today.minus(offset), YES_MANUAL));
|
||||
}
|
||||
|
||||
private void check(final int from, final int to)
|
||||
{
|
||||
Entries entries = habit.getOriginalEntries();
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
Timestamp today = DateUtils.getToday();
|
||||
|
||||
for (int i = from; i < to; i++)
|
||||
@@ -349,7 +349,7 @@ public class ScoreListTest extends BaseUnitTest
|
||||
|
||||
private void check(ArrayList<Integer> values)
|
||||
{
|
||||
Entries entries = habit.getOriginalEntries();
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
Timestamp today = DateUtils.getToday();
|
||||
for (int i = 0; i < values.size(); i++)
|
||||
if (values.get(i) == YES_MANUAL)
|
||||
@@ -359,7 +359,7 @@ public class ScoreListTest extends BaseUnitTest
|
||||
|
||||
private void addSkip(final int day)
|
||||
{
|
||||
Entries entries = habit.getOriginalEntries();
|
||||
EntryList entries = habit.getOriginalEntries();
|
||||
Timestamp today = DateUtils.getToday();
|
||||
entries.add(new Entry(today.minus(day), Entry.SKIP));
|
||||
}
|
||||
|
||||
@@ -28,11 +28,11 @@ import org.isoron.uhabits.core.models.sqlite.records.*
|
||||
import org.isoron.uhabits.core.utils.*
|
||||
import org.junit.*
|
||||
|
||||
class SQLiteEntriesTest {
|
||||
class SQLiteEntryListTest {
|
||||
|
||||
private val database = buildMemoryDatabase()
|
||||
private val repository = Repository(EntryRecord::class.java, database)
|
||||
private val entries = SQLiteEntries(database)
|
||||
private val entries = SQLiteEntryList(database)
|
||||
private val today = DateUtils.getToday()
|
||||
|
||||
@Before
|
||||
Reference in New Issue
Block a user